matlab用for循环调用子函数画图为什么画不出来

x=1:1:100;//x为100个元素的向量y=1:1:100;//y为100个元素的向量forj=1:1:100//循环100次x(j)=j;//让x向量中的第j个元... x=1:1:100;//x为100个元素的向量y=1:1:100;//y为100个元素的向量for j=1:1:100//循环100次x(j)=j;//让x向量中的第j个元素等于jy(x) = function1(kp,ki,kd);//调用一个另一个.m脚本中的子函数,把值给y向量中第x个元素end//结束循环plot(x,y,'r');//画图像
正常的效果应该是这样的,但是按照上面的写法画出来的是一条直线(应该是y只取到第100个值造成的)
展开
 我来答
藤原子大雄
2017-12-18 · TA获得超过7197个赞
知道大有可为答主
回答量:6977
采纳率:82%
帮助的人:1756万
展开全部
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。 所以函数内部在for循环那里,for k=0:m里面的m代入的是向量, 那么matlab自动取矩阵的第一个元素,你这里是0, 所以就变成for k=0:0,等于没循环。 因此最后结果只有s=0
DoramiHe
2017-12-18 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59542
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
t=-2*pi:pi/16:2*pi; y=ones(1,64); for n=1:64 y(n)=sin(t(n)); end plot(t,y) plot 是最基本的二维曲线画图函数
追问
错误使用 plot
矢量长度必须相同。
出错 pid1 (line 40)
plot(t,y);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式