matlab中作自定义函数的图,matlab作图问题 10
需要画出一个图,在a变量在[1.5,2.5]之间以0.1增长,AP2的对应值的图像(点集)。程序是这样的:d=100;b=20;c=0.5;e=0.1r=5.0;a=1....
需要画出一个图,在a变量在[1.5,2.5]之间以0.1增长,AP2的对应值的图像(点集)。
程序是这样的:
d=100;
b=20;c=0.5;e=0.1r=5.0;a=1.5:0.1:2.5; w2 = (d + a*c + a*e*d + 2*b*a*e)/(2*a + a^2*e);
p2 =d/(2*a)+w2/2;x2 = d - a*p2;Q2 = x2 + b;
AP2=-(p2-w2)*Q2^2/4*b+(p2-w2)*(x2+b)*Q2/2*b-(p2-w2)*(x2-b)^2/4*b;
plot(a,AP2);
运行不了,总是提醒:
Error using * Inner matrix dimensions must agree.
或者是Error using ^
如果将a改为,a=1.5;或者任意实数,会出现一张图,只有一个点的图。which is obvious.但是,我需要作在a变化下AP2对应取值变化的一张图。
自己觉得应该是a的问题,但是,不知道怎么解决。想用for循环,但是在循环内,它提醒不能定义函数。
因才开始接触matlab,很多东西并不知道。
求大牛解决~
sorry。可能复制粘贴时,出现了点问题。
function[AP2]=AP2fun(a)
d=100;
b=20;
c=0.5;
e=0.1;
r=5.0;
w2 = (d + c*a + e*d*a + 2*b*e*a)/(2*a + e*a^2);p2 =d/(2*a)+w2/2;x2 = d - p2*a;Q2 = x2 + b;
AP2=-(p2-w2)*Q2^2/4*b+(p2-w2)*(x2+b)*Q2/2*b-(p2-w2)*(x2-b)^2/4*b;
end
然后调用函数画图,
a=1.5;0.1;2.5;
AP2=AP2fun(a);
plot(a,AP2);
不知道对不对···
怎么百度知道网页反应这么龟速······ 展开
程序是这样的:
d=100;
b=20;c=0.5;e=0.1r=5.0;a=1.5:0.1:2.5; w2 = (d + a*c + a*e*d + 2*b*a*e)/(2*a + a^2*e);
p2 =d/(2*a)+w2/2;x2 = d - a*p2;Q2 = x2 + b;
AP2=-(p2-w2)*Q2^2/4*b+(p2-w2)*(x2+b)*Q2/2*b-(p2-w2)*(x2-b)^2/4*b;
plot(a,AP2);
运行不了,总是提醒:
Error using * Inner matrix dimensions must agree.
或者是Error using ^
如果将a改为,a=1.5;或者任意实数,会出现一张图,只有一个点的图。which is obvious.但是,我需要作在a变化下AP2对应取值变化的一张图。
自己觉得应该是a的问题,但是,不知道怎么解决。想用for循环,但是在循环内,它提醒不能定义函数。
因才开始接触matlab,很多东西并不知道。
求大牛解决~
sorry。可能复制粘贴时,出现了点问题。
function[AP2]=AP2fun(a)
d=100;
b=20;
c=0.5;
e=0.1;
r=5.0;
w2 = (d + c*a + e*d*a + 2*b*e*a)/(2*a + e*a^2);p2 =d/(2*a)+w2/2;x2 = d - p2*a;Q2 = x2 + b;
AP2=-(p2-w2)*Q2^2/4*b+(p2-w2)*(x2+b)*Q2/2*b-(p2-w2)*(x2-b)^2/4*b;
end
然后调用函数画图,
a=1.5;0.1;2.5;
AP2=AP2fun(a);
plot(a,AP2);
不知道对不对···
怎么百度知道网页反应这么龟速······ 展开
展开全部
你确认是这段程序直接贴过来的吗?
我怀疑是e=0.1r=5.0 这里少了个分号
我运行了一下你的程序,出错的原因是矩阵除法格式不对。
改正方法是直接用数代入求值,如下:
(函数不用变)
a=1.5:0.1:2.5;
for i=1:11
s(i)=AP2fun(1.4+0.1*i);
end
plot(a,s);
这样就可以画出正常的图来。
我怀疑是e=0.1r=5.0 这里少了个分号
我运行了一下你的程序,出错的原因是矩阵除法格式不对。
改正方法是直接用数代入求值,如下:
(函数不用变)
a=1.5:0.1:2.5;
for i=1:11
s(i)=AP2fun(1.4+0.1*i);
end
plot(a,s);
这样就可以画出正常的图来。
追问
还是不行呢~
错误提醒:
function[AP2]=AP2fun(a)
|
Error: Function definitions are not permitted in this context.
诶诶~
追答
你这句函数定义有语法错误,返回值不要写成这种格式。我自己贴过去就改过来了,你这忘了说。
用下面的:function p=AP2fun(a)即可。我这还有画好的图,不知道为啥贴不上。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的关系弄的太乱了,一会是向量,一会是单个数据,一会又是单个数据在减向量。我理了半天也没理清,要不你把函数贴上来,不知道不知道你到底想做什么运算
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询