Matlab code Frage?

2 Antworten

Du hast s hier als Array definiert. Beider einfachen Multiplikation kommt es dann zu Fehlern, da Matlab nicht weiß, wie es etwas der Form

1/((1 + [0, 0.3, ... ])*(1 + 0.3*[0, 0.3, ...])*....)

rechnen soll. Was du hier willst ist eine elementweise Berechnung. Hierzu sind die Divisions- und Multiplikationsoperatoren in Matlab mit einem weiteren "." zu versehen. Also hätte der Ausdruck für y wie folgt aussehen müssen:

y = 3.46./((1+s).*(1+0.3*s).*(1+0.05*s));

Siehe auch:

https://www.mathworks.com/help/matlab/ref/times.html

Ich mache einen Schuss ins Blaue: plot(x,y) und Du definierst y als Funktion von "s". Das kommt mir sehr komisch vor (ich habe aber null Ahnung von Matlab, keinen Zugang und kann daher meine Hypothese auch nicht testen).


Clara794 
Fragesteller
 01.09.2023, 18:09

leider hatte das in matlab so stehen gehabt: plot(s,y). Die Lösung war einfach nur, dass man den Malpunkt * schreiben musste.

0
evtldocha  01.09.2023, 18:10
@Clara794

Also steht in Deiner Frage nicht das plot-Kommando, so wie Du es tatsächlich benutzt hattest? Wenn ja, dann ist es echt ein "Red Herring".

0