![]() |
[求助]一个小程序老是出错。
老是显示??? Index exceeds matrix dimensions.
是不是数组加减出错了? clc;clear all Z(1:100)=0.000014; %不同层内Z方向厚度 P(1:100)=2E5; %不同层树脂压力 V(1:100)=0.4; %不同层内纤维体积含量 M(1:100)=0; %不同层内树脂流出量 Pa=2E5; %初始外压力 t=100; %加压时间 Ea=82.9E10; %增强材料模量 B=215; %长径比 V0=0.4; %初始平均纤维体检含量 Z0=0.000014; %初始每一层厚度 P(1)=0 %最外层树脂所受压力 for i=1:1:10*t u=1+exp(i/10);%粘度随时间变化情况 for j=2:1:100 K=((3.53E-9)*exp(-V(j)/0.05))+(5.46E-16); M(j)=((K/u)*(P(j)-P(j-1))*0.001); Z(j)=Z(j)-M(j)+M(j+1); V(j)=V0*Z0/Z(j); Pf=(3*pi*Ea/(B^4))*((V(j)/0.4)-1)/(0.907/V(j)-1)^4; P(j)=Pa-Pf; end end |
回复: [求助]一个小程序老是出错。
Z(j)=Z(j)-M(j)+M(j+1); 在j=100时M(j+1)超出了矩阵的大小。
另外你这个循环有问题,这个循环只能看到i=1000是的结果。应该在最后一个end前加个你要观看的矩阵,不要加分号。 |
回复: [求助]一个小程序老是出错。
你可以将M(1:100)=0;变为M(1:101)=0;
不过运行了你的结果,感觉你的变法可能有问题,M最后结果太小了 |
回复: [求助]一个小程序老是出错。
非常感谢2楼和3楼,m改成101,这个问题我已经解决。
另外,我只想得到最后的值,就是t*10时候相应的Z和V 另外,理论上M应该是趋近于0的一个数,非常感谢3楼的提醒。实际上,这也是我需要模拟的一个效果 |
所有时间均为北京时间。现在的时间是 11:05。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.