Re: [問題] 用plot作圖 但是圖跑不出來
就以下程式改寫。
看起來你誤會 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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章