matlab - 使用 for 循环时的空图
问题描述
我想用一个for
循环来绘制一个函数。代码是
y = 0;
for k = 0:0.1:2
y = y + k;
plot(k, y);
hold on;
end
但是,通过运行代码,绘图窗口是空的!我该如何解决这个问题才能在 2D 区域上看到一条线?
解决方案
Matlab 自动绘制给定函数的点之间的线性插值plot
。因此,由于您只给出一个点,因此不会发生插值。
您可以做的是保存旧y
值和旧x
值以要求 Matlab 在这两点之间绘制线性插值。例如
yold = 0; %Init
kold=0; %Init
for k = 0:0.1:2
y = yold + k; %New y value
plot([kold,k], [yold,y]); %Plot a linear interpolation
kold = k; %Save the new values as old
yold = y; %Same
hold on;
end
编辑/注意:
当在同一个窗口中添加新的绘图时,MATLAB 会自动改变颜色,因此上面会给你一个彩虹,这很好,但如果你想保持专业,你可以在绘图命令中添加颜色,例如
plot([kold,k], [yold,y],'blue');
推荐阅读
- c# - Wcf 服务,我收到此错误:内容类型 text/html;字符集=utf-8
- forms - 如何在 Drupal 8 中删除表单树枝中的字段?
- java - Spring security:为什么在配置中的 UsernamePasswordAuthenticationFilter 之前添加 JWT 过滤器?
- javascript - 迭代数组时如何获得总数?
- github - 在 github 操作中切换环境变量
- docker - 附加到正在运行的远程容器时如何使 VSCode 运行自定义脚本
- java - 如何将数据从返回活动传递到先前活动中的对话框?
- python - Error when installing Tensorflow - Python 3.8
- android - Filter a contact List through TextWatcher in Android
- android - Facebook login crashing while Facebook app is installed