[問題] 取值問題(新手)已回收

看板MATLAB作者 (米克)時間15年前 (2010/11/19 23:40), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/1
前幾天寫作業寫到一個要取值出來做運算的問題 舉例: y=sin(x) 要取出 -0.2<y<0.2 的值 然後在用取出來的 x y值去做另外的運算 我的作法是這樣: x=linspace(-10,10,1000); y=sin(x); n=1; for i=1:length(x) if y<0.2 && y>-0.2 xx(n)=x(i); yy(n)=y(i); n=n+1; end end ........ 這樣就可以取出我要的 x跟y值 但是其實功課的比較複雜 條件比較多 要寫很多行>< 我只是想上來問 有甚麼方法 可以直接用y去做塞選 然後對應到的x值跟著被選掉 謝謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.50.4 ※ 編輯: mikker 來自: 218.167.50.4 (11/19 23:57)

11/20 08:56, , 1F
yy=y(y>-0.2); yy=y(y<0.2);
11/20 08:56, 1F

11/20 08:57, , 2F
yy=y(y>-0.2); yy=yy(yy<0.2); 少打一個y
11/20 08:57, 2F
恩 原來可以這樣用 不過x值要怎麼跟著選掉?

11/20 11:08, , 3F
用 asin
11/20 11:08, 3F
xx=x(x<asin(0.2)) 這樣子嗎?? 我的matlab是校園版的 回台北就不能用@@ 現在不能試 有點麻煩... ※ 編輯: mikker 來自: 218.167.48.241 (11/21 00:44)

11/21 04:38, , 4F
應該只要這樣 我沒試 xx=asin(yy);
11/21 04:38, 4F

11/21 05:09, , 5F
xx=x(sin(x)<0.2 & sin(x)>-0.2); 你的意思應該是這樣吧?
11/21 05:09, 5F
文章代碼(AID): #1Cvff-4h (MATLAB)