www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Verspeichern von if-Schleifen
Verspeichern von if-Schleifen < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Verspeichern von if-Schleifen: Ergebnisspeicherung
Status: (Frage) beantwortet Status 
Datum: 22:52 So 23.12.2007
Autor: messenmann

Aufgabe
Problem: muss folgendes überprüfen:
a<b<c
falls bedingung erfüllt ist soll in einen vektor Ergebnis an erster stelle 'erfüllt' gesetzt werden, falls bedingung nicht erfüllt ist soll 'unerfüllt' gesetzt werden.

wie würdet ihr das programmieren?

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

ich habe es so programmiert-funktioniert jedoch nicht:
a,b und c sind vektoren mit 10 elementen

k=1:10
if a(k)<b(k)
   if b(k)<c(k)
      Ergebnis(k)={'erfüllt'}
      else
      Ergebnis(k)={'unerfüllt'}
    end
end

in Ergebnis sollten nun 10 Werte stehen die entweder 'erfüllt' oder 'unerfüllt' lauten.

Könnt ihr mir dabei helfen!
danke messenmann

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Verspeichern von if-Schleifen: Antwort
Status: (Antwort) fertig Status 
Datum: 22:59 So 23.12.2007
Autor: Martin243

Hallo,

du hast die for-Schleife vergessen. Es muss heißen:
for k=1:10,
  ....
end;

Allerdings wirst du einige leere Einträge haben im Falle [mm] a(k)$\geq$b(k). [/mm] Vielleicht solltest du den Fall auch behandeln.

Gruß
Martin

Bezug
                
Bezug
Verspeichern von if-Schleifen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:27 Mo 24.12.2007
Autor: messenmann

Hallo Martin, danke für die antwort1
For schleife für das k läuft durch, habe ich vergessen zu schreiben, das ist nicht das problem.

ich will nur wissen ob die bedingung a(k)<=b(k)<=c(k) erfüllt ist. ist diese bedingung erfüllt soll in einem vektor Ergebnis(k) 'erfüllt' gesetzt werden andernfalls 'unerfüllt'.

wie würdest du das programmiern?
danke lukas

Bezug
                        
Bezug
Verspeichern von if-Schleifen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:04 Mo 24.12.2007
Autor: Martin243

Hallo,

soetwas habe ich mir gedacht, war mir aber nicht ganz sicher, ob das deine Absicht ist. In Matlab kann man Bedingungen logisch verknüpfen. In deinem Fall bei UND:
1: for k=1:10,
2:   if (a(k)<b(k)) && (b(k)<c(k)), 
3:     Ergebnis(k)={'erfüllt'};
4:   else 
5:     Ergebnis(k)={'unerfüllt'};
6:   end
7: end 



Gruß
Martin

Bezug
                                
Bezug
Verspeichern von if-Schleifen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:18 Mo 24.12.2007
Autor: messenmann

hallo nochmal!
hab es jetzt so programmiert, funktioniert soweit, nur wenn man sich den ergebnisvektor anschaut stehen da nicht diese 'erfüllt' oder 'unerfüllt' drinnen. Z.B. sieht der so aus: Ergebnis= [] [] 'erfüllt'

klickt man 2 mal im workspace auf den Ergebnis vektor steht überhaupt: unsupported variable class or newline in string.

was hab ich falsch gemacht?

vielen dank für deine hilfe und frohe weihnachten.
Lg lukas

Bezug
                                        
Bezug
Verspeichern von if-Schleifen: Antwort
Status: (Antwort) fertig Status 
Datum: 21:50 Mo 24.12.2007
Autor: Blech


> was hab ich falsch gemacht?

Ich denke (hab kein Matlab zur Hand) es müßte Ergebnis{k} statt Ergebnis(k) lauten.
Nur in cell-arrays können die einzelnen Einträge unterschiedliche Länge haben.

Wenn Du nicht unbedingt die "erfüllt" und "unerfüllt" in einem Vektor haben mußt, sondern es 0en und 1en auch tun, ginge das ganze leichter. (evtl. könntest Du dann bei der Ausgabe formatieren oder so)

Ergebnis=a<b&b<c

gibt Dir einen Vektor mit Ergebnis(k)=1, falls a(k)<b(k)<c(k) und 0 sonst.

Leider gibt es keine so elegante Methode, das in strings umzuwandeln (denk ich, in R ginge es =), also bräuchtest Du die for-Schleife:

1: Ergebnis=a<b&b<c;
2: Erg=cell(length(Ergebnis),1);
3: for i=1:length(Ergebnis)
4:   if Ergebnis(i)==1
5:      Erg{i}='erfuellt';
6:   else
7:      Erg{i}='nicht erfuellt';
8:   end
9: end


(ich denke die Syntax sollte stimmen)



Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]