[問題]if迴圈問題
是這樣子的
我有一個100*100的矩陣ts,ts的產生方式如下:
as = linspace(-3.3,3.3,100);
bs = linspace(-3.3,3.3,100);
cs = 0;
ts = zeros(100,100);
for i = 1:100
for j = 1:100
ts(i,j) = 0.1238 - sqrt((ao-as(i))^2 + (bo-bs(j))^2 + (co-cs)^2)/1500;
end
end
ao bo co 是我要控制的變數
當 ao = 0 ,bo = 200 ,co = 1000 時
ts 內的元素會全部都是負值,但是我想要讓ts內的元素都介在0~0.4950之間
所以寫了一個if判別式讓ts去加0.4950,加到剛好ts內的元素都介在0~0.4950之間:
for i = 1:10 %我任意取的0.4950的倍數
ts = ts + (i-1)*0.4950;
if mean(mean(ts)) < 0
continue
elseif mean(mean(ts)) >= 0
break
end
end
可是這樣算出來,ts內的所有元素都超過了0.4950 (0.92多左右)
而當我改設成ao = 0,bo = 2000, co = 1000時
ts內的所有元素的值又介在0~0.4950之間 (0.119多左右)
想請教各位大大可以怎麼去改QAQ
感謝各位~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.226.46
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1530546278.A.C4B.html
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章