[問題]if迴圈問題

看板MATLAB作者 (夢想家)時間6年前 (2018/07/02 23:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
是這樣子的 我有一個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
文章代碼(AID): #1REaXcnB (MATLAB)
文章代碼(AID): #1REaXcnB (MATLAB)