| 查看: 486 | 回复: 2 | ||
harp木虫 (正式写手)
|
[求助]
Matlab循环的“诡异”问题
|
|
问题:可以运行一次两排“%%%%%%%%%%” 之间的代码,也就是被循环语句,而且结果合理,速度非常快,按下enter就能显示结果,这应该能说明这段代码没有问题吧? 可加上for语句后运行起来却不行,运行的非常慢,一直busy,等不到结果;另外,就算把两排“%%%%%%%%%%” 之间的代码复制重新运行也不行;使用clear命令清楚后再复制运行也不行,除非重启matlab才能运行。 这是怎么回事啊??? ![]() ![]() ![]() ![]() 求高人指教xm=zeros(42,10); for i=1:10 %%%%%%%%%%%%%%%%%%%%%% C=[0.002026883,0.007821721,0.023555797,0.014122603,0.027523128,0.019160052,0.05981332,0.072422514,0.277256157,0.496297825]; P=C(1); Ti=C(2); K=C(3); Na=C(4); Mg=C(5); S=C(6); Fe=C(7); Ca=C(8); Al=C(9); Si=C(10); x=zeros(42,1); %P r1=rand(2,1); xP=(r1/sum(r1))*P; x(3)=xP(1)/3; x(6)=xP(2)/2; Ca=Ca-5*x(3)-x(6); Al=Al-3*x(6); %Ti r2=rand(2,1); xTi=(r2/sum(r2))*Ti; x(41)=xTi(1); x(42)=xTi(2); %K r3=rand(3,1); xK=(r3/sum(r3))*K; x(25)=xK(1)/1.5; x(26)=xK(2); x(27)=xK(3); Al=Al-5.49999*x(25)-x(26); Si=Si-6.5*x(25)-3*x(26); S=S-2*x(27); Fe=Fe-3*x(27); %Na St=-1; Mgt=-1; while (St<=0)||(Mgt<=0) Nat=Na; Mgt=Mg; St=S; Fet=Fe; Cat=Ca; Alt=Al; Sit=Si; r4=rand(8,1); xNa=(r4/sum(r4))*Nat; x(32)=xNa(1)/0.33; x(33)=xNa(2)/0.7; x(34)=xNa(3)/2; x(35)=xNa(4)/2; x(36)=xNa(5); x(37)=xNa(6); x(38)=xNa(7); x(39)=xNa(8); Alt=Alt-1.67*x(32)-2.6*x(33)-x(36)-x(37)-x(38); Mgt=Mgt-0.33*x(32)-0.7*x(33); St=St-2*x(34)-x(35)-2*x(39); Fet=Fet-3*x(39); Cat=Cat-x(34); Sit=Sit-4*x(32)-8*x(33)-2*x(37)-3*x(38); end Mg=Mgt; S=St; Fe=Fet; Ca=Cat; Al=Alt; Si=Sit; %Mg r5=rand(5,1); xMg=(r5/sum(r5))*Mg; x(9)=xMg(1); x(28)=xMg(2); x(29)=xMg(3); x(30)=xMg(4); x(31)=xMg(5); S=S-x(31); Fe=Fe-2*x(29); Ca=Ca-x(9); Al=Al-2*x(28); %S r6=rand(9,1); xS=(r6/sum(r6))*S; x(10)=xS(1); x(11)=xS(2); x(12)=xS(3); x(13)=xS(4); x(14)=xS(5)/3; x(21)=xS(6)/2; x(22)=xS(7)/2; x(23)=xS(8); x(24)=xS(9); Fe=Fe-0.875*x(13)-2*x(14)-x(21)-x(22)-x(23)-x(24); Ca=Ca-x(10)-x(11)-x(12); %Fe r7=rand(6,1); xFe=(r7/sum(r7))*Fe; x(15)=xFe(1)/2; x(16)=xFe(2)/3; x(17)=xFe(3)/5; x(18)=xFe(4); x(19)=xFe(5); x(20)=xFe(6); Al=Al-2*x(17); Si=Si-3*x(17); %Ca r8=rand(4,1); xCa=(r8/sum(r8))*Ca; x(4)=xCa(1); x(5)=xCa(2); x(7)=xCa(3); x(8)=xCa(4); Al=Al-2*x(4)-2*x(5); Si=Si-2*x(4)-7*x(5); %Al r9=rand(2,1); xAl=(r9/sum(r9))*Al; x(1)=xAl(1)/2; x(2)=xAl(2); Si=Si-2*x(1); %Si x(40)=Si; xm(:,i)=x; %%%%%%%%%%%%%%%%%%%% end |
» 猜你喜欢
最失望的一年
已经有12人回复
拟解决的关键科学问题还要不要写
已经有8人回复
存款400万可以在学校里躺平吗
已经有29人回复
求推荐英文EI期刊
已经有5人回复
请教限项目规定
已经有4人回复
国自然申请面上模板最新2026版出了吗?
已经有20人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
疑惑?
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
关于matlab的一个诡异问题
已经有7人回复
求matlab求解一个方程组的问题
已经有6人回复
matlab for循环
已经有9人回复
Matlab两个小问题
已经有10人回复
关于MATLAB和OpenCV对相同算法的运算速度对比问题
已经有20人回复
MATLAB安装后出现一堆java的问题
已经有12人回复
【求助】求Matlab循环作图
已经有12人回复
【求助】问一个关于matlab中legend的问题
已经有11人回复
lds588
铁杆木虫 (著名写手)
愚钝
- 应助: 15 (小学生)
- 金币: 10949.6
- 散金: 2018
- 红花: 5
- 帖子: 1444
- 在线: 206.3小时
- 虫号: 890720
- 注册: 2009-11-01
- 专业: 凝聚态物性I:结构、力学和

2楼2011-07-11 18:36:34
harp
木虫 (正式写手)
- 应助: 1 (幼儿园)
- 金币: 3239.6
- 散金: 166
- 红花: 2
- 帖子: 510
- 在线: 180.5小时
- 虫号: 633829
- 注册: 2008-10-22
- 性别: GG
- 专业: 工程热物理与能源利用
3楼2011-07-11 21:20:17














回复此楼