[運算] 分段函數
我想做一個分段函數
指令如下
x=linspace(0,1,21);
if 0<= x <=1/2;
f=2*x;
else f=2-2*x
end
結果出來的值是 2 , 1.9 , 1.8 ,...., 0.1 , 0
意思是他只執行了else後面的函數
所以想請問各位大大我code問題出在哪?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.212.224
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1431577214.A.978.html
推
05/14 15:17, , 1F
05/14 15:17, 1F
→
05/14 15:17, , 2F
05/14 15:17, 2F
→
05/14 15:18, , 3F
05/14 15:18, 3F
→
05/14 15:19, , 4F
05/14 15:19, 4F
→
05/14 15:20, , 5F
05/14 15:20, 5F
感謝大大的建議,我要做一個分段函數f(x)=2*x as 0<= x <= 1/2,f(x)=2-2*x as
1/2<= x <=1
我修改了一下程式
x=linspace(0,1,21);
for i=1:21
if 0<=x(i) & x(i)<=1/2;
f(i)=2*x(i);
else f(i)=2-2*x(i)
end
end
之後有執行出想要的答案,感謝幫忙^^
※ 編輯: abc0229 (36.231.212.224), 05/14/2015 15:43:40
→
05/14 15:45, , 6F
05/14 15:45, 6F
→
05/14 15:46, , 7F
05/14 15:46, 7F
→
05/14 15:50, , 8F
05/14 15:50, 8F