[Script] Anfängerproblem mit Matlab

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von EED, 31. Oktober 2007 .

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 31. Oktober 2007
    Anfängerproblem mit Matlab

    Also folgendes programm ist zu schreiben:
    Drei Zahlen sollen sortiert zurückgegeben werden
    function [k, m, g] = Testat(a, b, c)
    Eingang a,b,c Jeweils skalare Größen
    Ausgang k,m,g Jeweils skalare Größen: k = kleinste Zahl, m = mittlere Zahl, g = größte Zahl
    Beispiel: Testat(1, 3, 2) 1, 2, 3
    Ausnahmen:
    Die MATLAB Funktion sort() darf nicht verwendet werden.
    So weit bin ich schon:
    Problem: wenn z.b a=80 und b=80, dann error..
    also habe ich folgendes geschrieben:
    is aber auch falsch!
    würde mich freuen über ne lösung:)
    Bw is natürlich drin!
     

  2. Anzeige
  3. #2 1. November 2007
    AW: Anfängerproblem mit Matlab

    Hallo EED,

    leider kenne ich Matlab überhaupt nicht. Kann man in Matlab mit Arrays programmieren? Falls ja...

    Du könntest Dir ein Array bauen, dass alle Deine Variablen enthält. Dann gehst Du mit For oder Foreach oder einem sonstigen Schleifenkonstrukt, dass es in Matlab gibt, durch das Array durch und vergleichst erst den ersten Wert mit dem zweiten, dann den zweiten Wert mit dem Dritten und so weiter. Wenn der erste Wert kleiner dem zweiten (oder der zweite kleiner dem dritten), tauscht Du beide Werte über eine Hilfsvariable.

    Das Ganze machst Du so lange, wie der Vergleich (zweiter kleiner dritter oder sechter kleiner siebter) wahr ist. Ob der Vergleich wahr ist, speicherst Du Dir in einem Boolean. Um das etwaws verständlicher zu machen, hier etwas Pseudo-Code
    Code:
    werte1größer2 boolean
    arr Array //Dein Array mit allen Werten
    tausch Integer
    while werte1größer2 
     werte1größer2 = Falso
     for i as integer = 0 to arr-2
     if arr[i] < arr[i+1]
     tausch = arr[i]
     arr[i] = arr[i+1]
     arr[i+1]= tausch
     werte1größer2 = true
     end if
     end for
    end while
    Hoffe das hilft Dir weiter.

    BG MaxDev
     
  4. #3 1. November 2007
  5. #4 1. November 2007
    AW: Anfängerproblem mit Matlab

    Danke schon mal, bw is raus.
    Aber das ist ne Aufgabe für anfänger und diese ganze operatoren und so hatten wir noch garnicht. Das bringt mir jetzt auch nix das einfach nur zu kopieren, ich muss es ja verstehen. Ich denke das geht auch etwas einfacher:)
    Wenn ich das checkprogramm drüberlaufen lasse gehts ja immerhin bis zum 50 test(von 100), daswegen denke ich das mein ansatz schon richtig war aber da fehlt noch irgendwas was "gleiche" Zahlen a=b sortiert.
    Edit: Fehler gefunden!! hab "=" vergessen lol
     

  6. Videos zum Thema
Die Seite wird geladen...
Similar Threads - Script Anfängerproblem Matlab
  1. Antworten:
    0
    Aufrufe:
    3.557
  2. Antworten:
    6
    Aufrufe:
    2.796
  3. Antworten:
    3
    Aufrufe:
    1.127
  4. Antworten:
    4
    Aufrufe:
    627
  5. Antworten:
    2
    Aufrufe:
    180