2016-07-10 16 views
0

Ich wollte diese Zeile ausführen, aber es wird leider ein Fehler ausgegeben. Irgendwelche Ideen?Variable nicht definiert

Nicht definierte Funktion oder Variable mr.

Fehler in Spielplatz (Linie 23)
X = min(mr);

j = 1; 

for i = 1:(resolution1+1) 
    line(i) = m(a(1))*ab(i)+c; 
end 

for i = 1:(resolution1) 
    if or(or(line(i)>ab_y(i) & line(i+1)<ab_y1(i+1),line(i)<ab_y1(i)& line(i+1)>ab_y1(i+1)),line(i)==ab_y1(i)) 
     mr(j) = ab1(i); 
     rk(j) = ab_y1(j); 
     j = j+1; 
    end 
end 

X = min(mr); 
Y = max(mr); 
+0

Nun, es ist definiert ** nur wenn ** '(oder (Zeile (i)> ab_y (i) & Zeile (i + 1) ab_y1 (i + 1)), Zeile (i) == ab_y1 (i)) 'ergibt 1. Wenn 0 ausgewertet wird, gilt' mr (j) = ab1 (i); 'wird nicht ausgeführt. –

Antwort

0

Ihr Zustand:

or(or(line(i)>ab_y(i) & line(i+1)<ab_y1(i+1),line(i)<ab_y1(i)& line(i+1)>ab_y1(i+1)),line(i)==ab_y1(i)) 

kehrt immer falsch, so die Anweisungen innerhalb

mr(j)=ab1(i); rk(j)=ab_y1(j); 

werden niemals ausgeführt. Daher existiert die Variable mr nicht.

Fügen Sie vor der Schleife eine mr = []; Anweisung hinzu, um die Variable zu initialisieren (und auch Ihre Bedingung zu revidieren, warum sie immer false zurückgibt).

+0

Danke! Ich war mir nicht sicher, wo der Fehler stattfand. Danke für deinen Hinweis – MatlabNewb

Verwandte Themen