WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

3D array

 

guguli
Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 09:17     Titel: 3D array
  Antworten mit Zitat      
Hallo zusammen,

Ich hab ein 3D array mit nullen gefüllt und an bestimmten Positionen hab ich denn andere werte wie 1 und 2 eingeführt.
nun möchte ich an einer bestimmten Position anfangen durch das Array laufen bis ich das Ziel erreicht habe. Und an der Position wo ein Wert 1, oder 2 ist soll dann eine Fehler meldung ausgeben.
Das ist dann mein Cod bis jetzt.
Code:

function  y =test_environment2()
    % x = row, y = column, z = page
    luft_value= 0;
    knochen_Value = 1;
    fleich_value = 2;
    X_welt=10;
    Y_welt=10;
    Z_welt=10;
    welt = zeros(X_welt,Y_welt,Z_welt);
   
    x_knochen = 5;
    y_knochen = 5;
    z_knochen = 5;
    welt(x_knochen,y_knochen,z_knochen)=knochen_Value;
    %das fleich um den Knochen
    for x_fleich = x_knochen - 1 : x_knochen + 1
        for y_fleich = y_knochen - 1 :y_knochen + 1
            for z_fleich = z_knochen - 1 :z_knochen + 1
                if ((x_fleich == x_knochen && y_fleich==y_knochen && z_fleich == z_knochen)||(x_fleich == x_knochen +1 && y_fleich==y_knochen && z_fleich == z_knochen))
                     welt(x_fleich, y_fleich, z_fleich) = knochen_Value;  
                 else welt(x_fleich, y_fleich, z_fleich) = fleich_value;
                end
            end
        end
    end
   
   
    Xtsp= 1;
    Ytsp = 1;
    Ztsp = 1;
    tool_starting_position= welt(Xtsp,Ytsp,Ztsp);
   
        Vx = 0.036; %speed cm/s
        Vy = 0.036;
        Vz = 0.036;
        x=5; y=5; z=5;
        X_runway = x - Xtsp;
        Y_runway = y - Ytsp;
        Z_runway = z - Ztsp;

        X_current=Xtsp;
        Y_current=Ytsp;
        Z_current=Ztsp;
        current_tool_position =welt (X_current, Y_current, Z_current);
        while(X_runway > 0)
           
            X_current = X_current+1;
            if(current_tool_position == luft_value)
            end
             if(current_tool_position == fleich_value)
                 coder.extrinsic('disp')
                 disp('X')
                 errordlg('Break off','File Error');
             end
            if(current_tool_position == knochen_Value)
                 errordlg('Bone','File Error');
            end
          X_runway =  X_runway - 1;
        end
       while(Y_runway)
            Y_current = Y_current+1;
            if(current_tool_position == luft_value)
            end
             if(current_tool_position == fleich_value)
                  coder.extrinsic('disp')
                 disp('Y')
                 errordlg('Break off','File Error');
             end
            if(current_tool_position == knochen_Value)
                 errordlg('Bone','File Error');
            end
             Y_runway =  Y_runway - 1;
       end
        while(Z_runway)
            Z_current = Z_current+1;
            if(current_tool_position == luft_value)
            end
             if(current_tool_position == fleich_value)
                  coder.extrinsic('disp')
                 disp('Z')
                 errordlg('Break off','File Error');
             end
            if(current_tool_position == knochen_Value)
                 errordlg('Bone','File Error');
            end
             Z_runway =  Z_runway - 1;
        end
    welt(X_current, Y_current, Z_current) = 3;
    y =  welt;
end
 


es ist etwas lang aber einfach. Nun der Fehler ist ich gehe nicht in der if abfragen in der WHILE schleifen, um die Fehler meldung ausugeben.

Kann mir einer sagen wo mein Fehler ist???

THX
Private Nachricht senden Benutzer-Profile anzeigen


guguli
Themenstarter

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 09:23     Titel:
  Antworten mit Zitat      
Ich hab das selber hin bekommen danke.

an stelle current_tool_position hab ich welt (X_current, Y_current, Z_current) geschrieben.
Private Nachricht senden Benutzer-Profile anzeigen
 
guguli
Themenstarter

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 09:27     Titel:
  Antworten mit Zitat      
Eine frage hab ich allerdings noch,
Wie kann ich das programm beenden wenn ich die Erste Error bekommen habe???? Also gibt es ein befehl dafür sowas wie break???

THX
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 24.06.2013, 09:36     Titel:
  Antworten mit Zitat      
warum benutzt du nicht
Code:
wenn der fehler kommt? in verbindung mit einer variablen setzung die verhindert das die restlichen schleifen gestartet werden.
Private Nachricht senden Benutzer-Profile anzeigen
 
guguli
Themenstarter

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 10:47     Titel:
  Antworten mit Zitat      
Ja hab ich j jetzt benutzt, danke.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.