
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个值造成的) 展开
正常的效果应该是这样的,但是按照上面的写法画出来的是一条直线(应该是y只取到第100个值造成的) 展开
2个回答
展开全部
你的函数参数要求是数值,但命令行输入的时候给函数传递的是一个向量0:50。 所以函数内部在for循环那里,for k=0:m里面的m代入的是向量, 那么matlab自动取矩阵的第一个元素,你这里是0, 所以就变成for k=0:0,等于没循环。 因此最后结果只有s=0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询