2016-05-02 4 views
1

Ich mag unten unter Verwendung von zwei for Loops, wie zeigt ein Diagramm, in MATLAB plotten:Wie plotten Werte von x-Achse mit entsprechenden y-Werten in MATLAB?

for x=0:0.012566370614359173:4*pi 
    for n=0:1000 
     f(n+1)= (4./pi).*(((-1).^n)./(2*n+1))*cos((2*n+1)*x); 
    end 
    plot(x,f,'*') 
end 

das Problem, dass es nur Plots für einen x-Wert und es dauert lange Zeit, es in MATLAB auszuführen ... Auch wenn ich die plot(x,f,'*') außerhalb der for-Schleifen setzen dauert es sehr lange, um ...

Wie kann ich die f-Werte für alle X-Werte? Gibt es einen anderen Weg, anstatt zwei for Loops zu verwenden?

Antwort

3

Sie brauchen überhaupt keine for-Schleifen. Außerdem verwendet man einige matrixartig Operatoren (*), wo ich glaube nicht, Sie sie bestimmt - im Gegensatz zu elementweise Operatoren (.*) - die Änderungen beachten Sie, ich Ihrer Definition aus f

x = 0:0.012566370614359173:4*pi; 

n = 1:1001; 

f = (4./pi).*(((-1).^n)./(2*n+1)).*cos((2.*n+1).*x); 

plot(x,f,'*'); 

enter image description here

+1

danke ... funktioniert deine f-funktion, die summe von 0 bis unendlich zu berechnen? Ich brauche die f-Funktion, um eine Summe zu sein und dann seine Werte zu plotten, um Konvergenz und Divergenz zu sehen ... Frieden –

+1

Ich bin mir nicht ganz sicher, was Sie fragen, aber die Funktion ist von 0

+1

ja ,,, können Sie bitte die Originalfunktion hier sehen: http://www.atomic.physics.lu.se/fileadmin/atomfysik/Education/Mandatory_cources /FAFA01_Fysik_-Mekanik_och_Vaagor/Inlaemningsuppgifter.pdf Seite 2 Aufgabe 5 –

1

Die Schleife für das x herausnehmen.

x=0:0.012566370614359173:4*pi; 
f = zeros(1,numel(x)); 

for n = 0:numel(x)-1 
    f(n+1) = (4/pi)*(((-1)^n)./(2*n+1))*cos((2*n+1)*x(n+1)); 
end 

plot(x,f,'*'); 
+1

danke aber dein code funktioniert nicht .. frieden –

+1

Was funktioniert nicht? Es funktioniert gut auf meinem System. – Amal

+1

jetzt funktioniert es .. Ihre Handlung ist nicht genau wie die Handlung von @Elijah Rockers .. Welche ist Ihrer Meinung nach genauer ... danke –

Verwandte Themen