[英]inserting an image and plotting it MATLAB
我正在尝试插入一个方程式并将其绘制出来,但是我无法这样做,因为我不断遇到类似错误:矩阵尺寸必须一致,或者内部矩阵尺寸必须一致。
http://www4.0zz0.com/2012/11/25/10/272913238.png这是等式。 M的值为1至6,增量为0.5。 Q的值为0到1,增量为0.1。
http://www4.0zz0.com/2012/11/25/10/700692428.png情节是这样的
m=1:0.5:6;
q=0:0.1:1;
我试图将方程式拆分为多个部分,所以对我来说插入起来会更容易,但是最后一部分却出现了错误
e=q./m(1-sqrt(1-(q./m).^2));
下标索引必须是实数正整数或逻辑值。
要遍历m
和q
每个组合:您想使用ndgrid
。 现在, m
和q
都是行向量,因此按数组的运算将仅将m
的第一个元素与q
的第一个元素一起使用,将第二个元素与第二个元素一起使用,依此类推。 您想要的是2D矩阵,其中m
沿一维变化, q
沿另一维变化。 这就是ndgrid
所做的。 尝试这个:
[q, m] = ndgrid(0:0.1:1, 1:0.5:6);
对于下标索引错误消息:问题是乘法与数组访问。 在公式PNG中,分母的形式为M{…}
,这意味着M
乘以括号中的值。 在您的代码中,您编写了m(…)
,实际上是一个数组访问,而不是乘法。 将其更改为m .* (…)
可使代码正常工作。 工作版本为:
e=q./(m.*(1-sqrt(1-(q./m).^2)));
现在,您可以执行以下操作:
figure; plot(e);
…并且您应该得到与您想要的输出相似的输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.