Re: [問題] if語法沒辦法讓原本式子繼續跑已回收

看板MATLAB作者 (macmini安裝)時間13年前 (2010/10/13 22:52), 編輯推噓3(301)
留言4則, 2人參與, 最新討論串2/4 (看更多)
※ 引述《maply0703 (落葉)》之銘言: : 原本是這樣 : clear all : i=-0.5*pi:pi/1024:0.5*pi; : for L=-10:1:10; : r=L.*(cos(i)).^2; : x=r.*cos(i); : y=r.*sin(i); : plot(x,y) : hold on : end : 而我想在-1<=r<=1時 : 改成一個半徑為1的圓 : 於是我這樣寫 : clear all : for i=-0.5*pi:pi/1024:0.5*pi; : for L=-10:1:10; : r=L.*(cos(i)).^2; : if 0<=r<=1 if r<=1 && r>=0 : r=1; : elseif -1<=r<0 elseif r<0 && r>=-1 : r=-1; : else : r=r; : end : end : x=r.*cos(i); : y=r.*sin(i); : plot(x,y) : hold on : end : 可是連原本的圖都跑不出來 : 請問是哪裡出錯了呢? : 其實有試過在loop裡面將-1<=r<=1這個範圍令r=0 : 再在外面畫圓 : 可是最後出來的就是一個圓而已... -1<=r<0 <- matlab 沒有這種寫法,或是說大部份的程式語言也沒有這種寫法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.204.15

10/13 22:56, , 1F
原來如此,獻醜了,不過這樣我還是只能跑出第一條線說..
10/13 22:56, 1F

10/13 23:12, , 2F
你那樣子寫的話 i在迴圈外應該只是個0.5pi的值吧
10/13 23:12, 2F

10/13 23:13, , 3F
sorry看錯了 你的plot在迴圈內
10/13 23:13, 3F

10/13 23:17, , 4F
我把if判斷式丟到第一個語法裡,結果直接在if那邊error
10/13 23:17, 4F
文章代碼(AID): #1CjSUP8t (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1CjSUP8t (MATLAB)