如何在MATLAB中用相应的y值绘制x轴的值?

时间:2016-05-02 17:54:20

标签: matlab

我想通过使用两个for循环在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

它只是绘制一个x值并且在MATLAB中执行它需要很长时间的问题...即使我将plot(x,f,'*')置于for循环之外也需要很长时间跑...

如何绘制所有x值的f值?有没有其他方法,而不是使用两个for循环?

2 个答案:

答案 0 :(得分:3)

根本不需要任何for循环。此外,您使用了一些矩阵方式的运算符(*),我不相信您的意图 - 而不是元素运算符(.*) - 请注意我对您的定义所做的更改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 :(得分:1)

取出x的循环。

{% if groups['somegroup'] is defined %}
{% for host in groups.all if host not in groups['somegroup'] %}
...
{% endfor %}
{% else %}
{% for host in groups.all %}
...
{% endfor %}
{% endif %}