我有一个方程需要仿真,然后用X绘制Y。我使用以下代码进行此操作,但最后它给了我这条直线,因为图形显然不是我期望的看到:
r = .5;
beta = 5;
b = 1;
N = 10;
K = 15;
p = .7:.05:5.7;
l_0 = 0:.01:1;
p*K.*(1-(l_0/r)) == 1./((N*beta*(b^beta)./((beta-1)*l_0))).^(1/(beta-1));
plot(p,l_0,'b*-')
我需要通过模拟方程式并使用上面的参数值来了解l_0随着p的变化如何变化。
我以某种方式猜测我为p和l_0设置值的方式出了问题,但是我对MATLAB几乎是陌生的,并且不知道如何解决它。如果有人能帮助我找出我在哪里犯错,我将不胜感激。
答案 0 :(得分:0)
如果查看colon operator的MATLAB Documents页面,您将看到:
充当单位向量。基本上,它以i间隔创建从j到k的线性空间。因此,当前显示的图形是正确的。它显示两个线性向量。
但是,您可能要更改的是图形的纵横比。现在,您的宽高比自定义项将适合您的数据(听起来好像您不想要)。在MATLAB文档的axis limits and aspect ratios的axis style
部分下面查看您想要的绘图样式。
希望这对您有所帮助。
答案 1 :(得分:0)
您在此处显示的图形/图似乎仅适用于此:
p = .7:.05:5.7;
l_0 = 0:.01:1;
plot(p,l_0,'b*-')
是的!这就对了。您写的所有其他内容都没有作用(看来)。
基本上,您没有用p
来评估/填充l_0
,所以如果您想看看
p
空白p
重新排列方程式。l_0
处理/填充p
的值。现在,如果您只想查看p = .7:.05:5.7;
之间的曲线/图,则可以使用axiss属性或只是放大/缩小来检查该方法。
希望这会有所帮助