怎么用matlab画李萨如形,matlab使用for循环画函数

2023-10-16 1340阅读

温馨提示:这篇文章已超过531天没有更新,请注意相关的内容是否还可用!

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

怎么用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循环中的值并在之后绘制它:活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看预先分配所需的变量(在这种情况下为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循环中计算值并将它们添加到y – 向量,如上所示。最后一步,您可以更改其XData和YData属性并调用drawnow来更新图表。请注意,每次在for循环中调用plot都会造成不必要的代价,而且我不推荐它。

% create figure and plot

figure;

ph = plot(0,0);

ax = gca;

set(ax,\’XLim\’,[0,2*pi]);

set(ax,\’YLim\’,[-1,1]);

% calculate and update plot

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

y = zeros(size(x));

for i = 1:numel(x)

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

set(ph,\’XData\’,x(1:i));

set(ph,\’YData\’,y(1:i));

drawnow;

end

36974928

《怎么用matlab画李萨如形,matlab使用for循环画函数》来自互联网同行内容,若有侵权,请联系我们删除!

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]