[問題] 迴圈跟if問題已回收
小妹第一次在這裡po文...
不好意思麻煩好心人幫我一下
我困擾好久了....
實在是不知道跑出來為什麼會怪怪
我是用matlab跟comsol結合
以下部分是我節錄其中一段
可能有點長....謝謝大家
while 1
.
.
.
for j=1:20
if K(j)>0
if K(j)>=0.5
t=t/1.25;
mark=1;
break
end
if K(j)<0.5
a=1;
if K(j)>=rand
for i=0:22
if ar(20*i+j)==1&&ar(20*(i+1)+j)==2
ar(20*i+j)=2;
break
end
end
for i=0:22
if ar(20*i+j)==2&&ar(20*(i+1)+j)==1
ar(20*(i+1)+j)=2;
break
end
end
end
end
end
if K(j)<0
if-K(j)>=0.5
t=t/1.25;
mark=1;
break
end
if -1*K(j)<0.5
a=1;
if -1*K(j)>=rand
for i=0:22
if ar(20*i+j)==1&&ar(20*(i+1)+j)==2
ar(20*(i+1)+j)=1;
break
end
end
for i=0:22
if ar(20*i+j)==2&&ar(20*(i+1)+j)==1
ar(20*i+j)=1;
break
end
end
if i==23&&ar(20*i+j)==2
ar(20*i+j)=1;
end
end
end
end
end
mark,
a,
a=0;
if mark==0
for j=1:20
Z=abs(K(j));
end
if max(Z)<0.25
t=t*1.25;
continue
end
end
if mark==1
mark=0;
continue
end
.
.
.
end
前面會計算出1*20矩陣 K(j)的值
我的a跟mark都是拿來做記號的
神奇的是 跑出來竟然會有同時a=1跟mark=1的狀況
怎麼可能一個值同時大於0.5又小於0.5呢?
我想讓K值維持在0跟0.5之間 但最大值要>0.25
所以我用t去調整 因為K=t*某係數
跑出來還有一個問題就是 明明K<0.25
他還是一直給我跑到t/1.25那裏 所以K越來越小
真的有點長 有人幫我的話 我會超感動的QQ
謝謝^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.17.250
※ 編輯: pooooon 來自: 140.114.17.250 (10/14 17:48)
→
10/15 02:34, , 1F
10/15 02:34, 1F
→
10/15 08:55, , 2F
10/15 08:55, 2F