2017-09-19 5 views
1

Ich versuche, diese Funktion in Octave zu plotten und ich bekomme einen Fehler, den ich nicht verstehe. Ich habe erfolgreich andere Funktionen gezeichnet, aber aus irgendeinem Grund funktioniert dieser nicht.Oktavfehler beim Versuch, die Funktion zu plotten N * log2 (N)

N=[1:1:50]; 

y1Values = N*log2(N); 

%plot (n, y1Values, 'LineWidth',2, n,y2Values, 'LineWidth',3); 

plot (N, [ y1Values' ], 'LineWidth',3); 

legend("e^N"); 

Dies erzeugt diese Fehler

error: asstemp: operator *: nonconformant arguments (op1 is 1x50, op2 is 1x50) 

Fehler: genannt von asstemp in Zeile 2 Spalte 10

Ich weiß nicht, warum das * ein Problem sein würde. Es hat keinen der anderen Ausdrücke. Muss ich den Ausdruck anders schreiben?

Antwort

2

Da N ist ein Vektor log2(N) gibt auch einen Vektor zurück, so dass Sie versuchen, zwei Vektoren zu multiplizieren. Aber * ist eine Matrixmultiplikation. Was Sie wollen, ist elemenwise Multiplikation (.*): y1Values = N.*log2(N);

Verwandte Themen