Re: [問題] 用plot作圖 但是圖跑不出來

看板MATLAB作者 (sppmg)時間6年前 (2018/06/29 02:47), 6年前編輯推噓2(200)
留言2則, 2人參與, 6年前最新討論串2/2 (看更多)
就以下程式改寫。 看起來你誤會 plot 是打點上去,並且不會清除。 : for x=linspace(-2,6) : if x<-1 : plot(x,exp(x+1)); : elseif -1<=x<5 : plot(x,2+cos(pi*x)); : elseif x<=5 : plot(x,10*(x-5)); : end : end matlab 中可以用: x = linspace(-2,6) y(numel(x)) = 0 ; % 預配置記憶體空間 % 用 logical array 標記選定元素 bmap = { ... x < -1 , ... -1 <= x & x < 5, ... % 用 & 而非 && ,因為兩邊是 logical array x > 5}; % 你這裡是不是打錯成 < ? % 儲存 function handle,方便迴圈呼叫、動態呼叫 func = { ... @(x)exp(x+1), ... @(x)2+cos(pi*x), ... @(x)10*(x-5) } ; for n = 1:numel(bmap) % 把選定區段經計算後存到 y 的相同位置。 y(bmap{n}) = func{n}( x(bmap{n}) ) ; end plot(x,y) ; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.97.51.122 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1530211653.A.74A.html ※ 編輯: sppmg (175.97.51.122), 06/29/2018 02:49:46

06/29 09:24, 6年前 , 1F
06/29 09:24, 1F

06/29 17:02, 6年前 , 2F
謝謝你!!!
06/29 17:02, 2F
文章代碼(AID): #1RDIr5TA (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1RDIr5TA (MATLAB)