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

if Schleife

 

Kojote
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 22.07.09
Wohnort: Stockholm
Version: ---
     Beitrag Verfasst am: 13.08.2009, 15:00     Titel: if Schleife
  Antworten mit Zitat      
Hallo Leute,

ist es möglich in in einer if-elseif-else-end Schleife eine Intervalbedingung zu setzen.

z.B. so

if j<=N1
x=5
elseif N1<j<=N2
x=7
elseif N2<j<=N3
x=8
else
x=10
end

Hab das so ausprobiert, aber irgendwie scheint es so nicht zu gehen.
Wäre super, wenn jemand eine Lösung für mich hätte.

Beste Grüße und vielen Danke bereits im voraus.
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 13.08.2009, 15:07     Titel:
  Antworten mit Zitat      
Hallo,

dazu muss man Logische Verknüpfungen &&, || , or(x,y), and(x,y) verwenden

Code:

if j<=N1
   x=5
% N2<j<=N3
elseif N1<j && j<=N2
   x=7
% N2<j<=N3
elseif N2<j && j<=N3
   x=8
else
    x=10
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Kojote
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 22.07.09
Wohnort: Stockholm
Version: ---
     Beitrag Verfasst am: 13.08.2009, 15:26     Titel:
  Antworten mit Zitat      
Hallo,

danke für Deine Antwort, aber irgendwie scheint es so trotzdem nicht zu funktionieren.

Hab das Ganze mit zwei for-Schleife zum erstellen einer Matrx verknüpft. In den Spalten für die angegebenen Intervalle, wird aber leider nicht mit den angegebenen Zahlen für x gerechnet.

Gibts noch ne andere Lösung? Wo könnte das Problem liegen?

Beste Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 13.08.2009, 16:38     Titel:
  Antworten mit Zitat      
Hallo,

man kann überhaupt nicht nachvollziehen, was du machst und wo das Problem liegt. Darum poste bitte ein gutes Beispiel oder Ausschnitt deiner Problemstelle.
Besser ist es immer ein ausführbarer Beispiel.


Bei Intervalen muss beachten dass sind Und-Verknüpfungen
z.B.(10<x<=12)
Man spricht doch nicht einfach dass x zwischen 10 und 12 liegt,
sondern mathematisch: x ist größer 10 und kleiner gleich 12
dieses "und" entspricht in Informatik logischen Verknüpfungen.
10<x<=12 entspricht damit x >10 && x<=12


zum besserem Verstehen ein kleines Beispiel,
Code:

A  = round(rand(5,10)*10);
N1 = 1;
N2 = 4;
N3 = 7;
wert = 1;
for m=1:size(A,1)
   for n=1:size(A,2)

      if A(m,n)<=N1
         fprintf('Wert%3d ist  : %2d <= %2d\n',wert,A(m,n),N1)
         % N2<j<=N3
      elseif N1<A(m,n) && A(m,n)<=N2
         fprintf('Wert%3d liegt: %2d < %2d <= %2d\n',wert,N1,A(m,n),N2)
         % N2<j<=N3
      elseif N2<A(m,n) && A(m,n)<=N3
         fprintf('Wert%3d liegt: %2d < %2d <=%2d\n',wert,N2,A(m,n),N3)
      else
         fprintf('Wert%3d hat kein Treffer:\n',wert)
      end
      wert = wert+1;
   end
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Kojote
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 22.07.09
Wohnort: Stockholm
Version: ---
     Beitrag Verfasst am: 13.08.2009, 17:03     Titel:
  Antworten mit Zitat      
Hallo,

sorry, wenn ich mich so undeutlich ausgedrückt habe. Arbeite erst seit kurzer Zeit mit Matlab.

Danke trotzdem, dass Du dir die Zeit genommen hast mir zu helfen.

Hab den Fehler gefunden, dank Deines Codes.

Besten Dank.
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.