Matlab计算Index exceeds matrix dimensions.为什么?[w,y]=meshgrid(linspace(0,1),linspace(20,100));h=25;Ta=37;Q=420;p=1000;c=4200;wb=0.0005;k=0.5;Tf=35;Tc=37;L=0.071;phi=0.1;y=16.7*h*(k*(wb*p*c/k)^0.5*coth(L*(wb*p*c/k)^0.5)+h+0.256*(3.054+16.7*h*w)

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 01:06:01

Matlab计算Index exceeds matrix dimensions.为什么?[w,y]=meshgrid(linspace(0,1),linspace(20,100));h=25;Ta=37;Q=420;p=1000;c=4200;wb=0.0005;k=0.5;Tf=35;Tc=37;L=0.071;phi=0.1;y=16.7*h*(k*(wb*p*c/k)^0.5*coth(L*(wb*p*c/k)^0.5)+h+0.256*(3.054+16.7*h*w)
Matlab计算Index exceeds matrix dimensions.为什么?
[w,y]=meshgrid(linspace(0,1),linspace(20,100));
h=25;
Ta=37;
Q=420;
p=1000;
c=4200;
wb=0.0005;
k=0.5;
Tf=35;
Tc=37;
L=0.071;
phi=0.1;
y=16.7*h*(k*(wb*p*c/k)^0.5*coth(L*(wb*p*c/k)^0.5)+h+0.256*(3.054+16.7*h*w))^(-2)*(-(0.256*(Ta+Q/(p*c*w))...
-3.37-phi*(-25.6+0.095*(Tf+273)))*(k*(wb*p*c/k)^0.5*coth(L*(k*(wb*p*c/k)^0.5)+h))...
-0.256*h*(Tf-Ta-Q/(p*c*w))-0.256*exp(-L*(k*(wb*p*c/k)^0.5)*(Tc-Ta-Q/(p*c*w))*(k*(wb*p*c/k)...
^0.5*coth(L*(k*(wb*p*c/k)^0.5)+k(wb*p*c/k)^0.5))));
plot(w,y,'rs')

Matlab计算Index exceeds matrix dimensions.为什么?[w,y]=meshgrid(linspace(0,1),linspace(20,100));h=25;Ta=37;Q=420;p=1000;c=4200;wb=0.0005;k=0.5;Tf=35;Tc=37;L=0.071;phi=0.1;y=16.7*h*(k*(wb*p*c/k)^0.5*coth(L*(wb*p*c/k)^0.5)+h+0.256*(3.054+16.7*h*w)
你这个程序很多地方可以简化比如(wb*p*c/k)可以在上一步用v=(wb*p*c/k),还有一些相同的地方都可以这样简化,看起来也方便,你这里面的问题是相乘的时候矩阵维数不匹配 比如这个(3.054+16.7*h*w),h=25,而w为100行100列的矩阵,这样相乘是有问题的,所以就出现Matlab计算Index exceeds matrix dimensions,不知道你的要求,你可以把h改为100行100列的对角线为25的矩阵,即h=h*eye(100,100);再用h*w