繁体   English   中英

如何在MATLAB中绘制x轴的值和对应的y值?

[英]How to plot values of x axis with corresponding y values in 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循环之外for它也需要很长时间才能运行...

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

您根本不需要任何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,'*');

在此处输入图片说明

取出x的循环。

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,'*');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM