查看: 1072|回复: 8|关注: 0

[已解决] 错误原因:数组索引必须为正整数或逻辑值,求大神帮忙看看问题出在哪里?

[复制链接]

新手

9 麦片

财富积分


050


2

主题

10

帖子

0

最佳答案
QQ图片20190402120835.png

这是源程序:syms x y;
[x,y]=meshgrid(0:0.12:120,0:250:2.5*10^5);
rho=1*10^-3;rho1=5*10^-4;rho2=5*10^-4;
a=2.88;a1=2.88;a2=2.88;b=2.88;
mu=14.4;mu1=14.4;mu2=14.4;
e1=0.02;e2=0.02;
n=1;
c1=1.04*10^6;c2=1.04*10^6;
v=rho(1-a*floor((1+(x.*e1+x.*e2))^n)/mu);
v1=rho1(1-a1*(1+(x.*e1)^n)/mu1);
v2=rho2(1-a2*(1+(x.*e2)^n)/mu2);
theta1=(b+b*y./(c2*e2)+y.*v2)/(b+b*y./(c2*e2)+y.*v);
z=log(v1*v2)-log(v^2+(b/y.)*v)-log(theta1);
imagesc(z);







MATLAB 基础讨论
版块优秀回答者

中级

527 麦片

财富积分


5001500


0

主题

963

帖子

115

最佳答案
  • 关注者: 13
发表于 2019-4-2 15:25:57 | 显示全部楼层 |此回复为最佳答案
syms x y;
[x,y]=meshgrid(0:0.12:120,0:250:2.5*10^5);
rho=1*10^-3;rho1=5*10^-4;rho2=5*10^-4;
a=2.88;a1=2.88;a2=2.88;b=2.88;
mu=14.4;mu1=14.4;mu2=14.4;
e1=0.02;e2=0.02;
n=1;
c1=1.04*10^6;c2=1.04*10^6;
v=rho(1-a*floor((1+(x.*e1+x.*e2))^n)/mu);
v1=rho1(1-a1*(1+(x.*e1)^n)/mu1);
v2=rho2(1-a2*(1+(x.*e2)^n)/mu2);
theta1=(b+b*y./(c2*e2)+y.*v2)/(b+b*y./(c2*e2)+y.*v);
z=log(v1*v2)-log(v^2+(b/y.)*v)-log(theta1);
imagesc(z);
中rho,rho1,rho2为数值,不是矩阵
v=rho(1-a*floor((1+(x.*e1+x.*e2))^n)/mu);
v1=rho1(1-a1*(1+(x.*e1)^n)/mu1);
v2=rho2(1-a2*(1+(x.*e2)^n)/mu2);
是不是为:
v=rho*(1-a*floor((1+(x.*e1+x.*e2))^n)/mu);
v1=rho1*(1-a1*(1+(x.*e1)^n)/mu1);
v2=rho2*(1-a2*(1+(x.*e2)^n)/mu2);
呀,还是除,加,减之类的

新手

9 麦片

财富积分


050


2

主题

10

帖子

0

最佳答案
 楼主| 发表于 2019-4-2 15:58:22 | 显示全部楼层
WarnerChang 发表于 2019-4-2 15:25
syms x y;
[x,y]=meshgrid(0:0.12:120,0:250:2.5*10^5);
rho=1*10^-3;rho1=5*10^-4;rho2=5*10^-4;

谢谢你,这个问题确实出在这儿,然而又有了新问题。。。

MATLAB 基础讨论
版块优秀回答者

中级

527 麦片

财富积分


5001500


0

主题

963

帖子

115

最佳答案
  • 关注者: 13
发表于 2019-4-2 16:10:24 | 显示全部楼层
一阵风迩 发表于 2019-4-2 15:58
谢谢你,这个问题确实出在这儿,然而又有了新问题。。。

什么问题呢?我可以解决吗

新手

9 麦片

财富积分


050


2

主题

10

帖子

0

最佳答案
 楼主| 发表于 2019-4-2 16:11:00 | 显示全部楼层
一阵风迩 发表于 2019-4-2 15:58
谢谢你,这个问题确实出在这儿,然而又有了新问题。。。

麻烦您再给看看这个,百思不得其解。 1.png

MATLAB 基础讨论
版块优秀回答者

中级

527 麦片

财富积分


5001500


0

主题

963

帖子

115

最佳答案
  • 关注者: 13
发表于 2019-4-2 16:12:34 | 显示全部楼层
WarnerChang 发表于 2019-4-2 16:10
什么问题呢?我可以解决吗

z=log(v1*v2)-log(v^2+(b/y.)*v)-log(theta1);
应该是
z=log(v1*v2)-log(v^2+(b/y).*v)-log(theta1);吧
如果有帮助,麻烦给个最佳答案,谢谢

新手

9 麦片

财富积分


050


2

主题

10

帖子

0

最佳答案
 楼主| 发表于 2019-4-2 16:13:27 | 显示全部楼层
WarnerChang 发表于 2019-4-2 16:10
什么问题呢?我可以解决吗

2.png

syms x y;
[x,y]=meshgrid(0:0.12:120,0:250:2.5*10^5);
rho=1*10^-3;rho1=5*10^-4;rho2=5*10^-4;
a=2.88;a1=2.88;a2=2.88;b=2.88;
mu=14.4;mu1=14.4;mu2=14.4;
e1=0.02;e2=0.02;
n=1;
c1=1.04*10^6;c2=1.04*10^6;
v=rho*(1-a*(1+(x.*e1+x.*e2)^n)/mu);
v1=rho1*(1-a1*(1+(x.*e1)^n)/mu1);
v2=rho2*(1-a2*(1+(x.*e2)^n)/mu2);
theta1=(b+b*y./(c2*e2)+y.*v2)/(b+b*y./(c2*e2)+y.*v);
z=log(v1*v2)-log(v^2+b/y.*v)-log(theta1);
imagesc(z);

是这个

新手

9 麦片

财富积分


050


2

主题

10

帖子

0

最佳答案
 楼主| 发表于 2019-4-2 16:16:23 | 显示全部楼层
WarnerChang 发表于 2019-4-2 16:12
z=log(v1*v2)-log(v^2+(b/y.)*v)-log(theta1);
应该是
z=log(v1*v2)-log(v^2+(b/y).*v)-log(theta1);吧

还是不对啊,一样的错误:(

MATLAB 基础讨论
版块优秀回答者

中级

527 麦片

财富积分


5001500


0

主题

963

帖子

115

最佳答案
  • 关注者: 13
发表于 2019-4-2 18:01:04 | 显示全部楼层
一阵风迩 发表于 2019-4-2 16:16
还是不对啊,一样的错误

你将/改成./就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表