matlab怎么绘制李萨如图形_在MatLab中使用for循环绘制图形

为什么会发生这种情况......

使用plot(x(i),y)绘制100个单点(每次迭代一个),默认情况下不会显示它们。因此情节看起来是空的。

解决方案1:矢量化计算和直接绘图

我认为你打算画一条连续线。在这种情况下,不需要for循环,因为您可以直接在MATLAB中计算和绘制矢量。所以下面的代码可能就是你想要的:

x = linspace(0,2*pi,100);

y = sin(x);

plot(x,y);

请注意,y是一个向量和x,而y(n)对于所有sin(x(n))都等于n。如果您想绘制点本身,请在调用plot时使用LineSpec - 语法,如此1:

plot(x,y,'*');

1)其他类型的点也是可能的,请参阅上面的链接文档。

解决方案2:计算for循环中的值并在之后绘制

如果你想计算for循环中的值并在之后绘制它:预先分配所需的变量(在这种情况下为y),计算for循环中的值,最后用计算后只需一个命令。

x = linspace(0,2*pi,100);

y = zeros(size(x));

for i = 1:numel(x)

y(i) = sin(x(i));

end

plot(x,y);

解决方案3:在计算时动态更新绘图

如果你坚持在每次迭代中进行绘图,那么Solution 2中的前一个代码可以扩展如下:创建一个数字,添加一个空的'绘制它并存储其句柄。在for循环中计算值并将它们添加

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值