Re: [問題]Matlab找分段函數跟圓的交點與syms指令
※ 引述《leoking0106 (white)》之銘言:
: ※ 引述《leoking0106 (white)》之銘言:
: : 1.
: : 我的分段函數是
: : y=0 ,-7<x<0
: : y=2/3*x ,0<x<9
: : y=6 ,9<x<12
: : 圓方程式是
: : (x-2.5).^2+(y-9.15).^2=9.5^2
: : 要如何用matlab找出兩函數的交點(0,0) (11.46,6) ??
: : 2.
: : 例如這樣
: : syms x;
: : y=-(9.5^2-(x-2.5).^2).^0.5+9.15;
: : 我想要問這樣寫的話有沒有甚麼指令可以讓我直接得到y函數的值
: : 例如y(0)=0; y(11.46)=6 之類的
: : 還有如果我要畫x vs.y的曲線圖(像plot那樣的圖)
: : 要用甚麼指令呢??
: : (或者有其他比較好的寫法但也能達到我想要的)
: : 拜託網路上的matlab高手教我怎麼寫
: : 最好能提供code讓我比較好了解
: : 感激不盡~
: 感謝j大解惑
: 但我想請問Q2中為什麼你的@(X)我改成syms x就不能run了呢?
: 還有Q1能不能教我怎麼寫分段函數跟圓方程式
: 我才剛接觸MATLAB沒多久很多東西都還不是很瞭
OK Q2已經弄懂了
但關於Q1分段函數的部分 我是這樣寫的
y1=@(x) 0;
y2=@(x) 2/3*x;
y3=@(x) 6;
yy=@(x) (y1*(heaviside(x+7)-heaviside(x))+y2*(heaviside(x)-heaviside(x-9))+...
y3*(heaviside(x-9)-heaviside(x-12)))
x=[0:1.5:11.46 11.46]
yy(x)
我想要抓出yy中對應x的函數值
他run出來的error是
??? Undefined function or method 'mtimes' for input arguments of type
'function_handle'.
Error in ==>
@(x)(y1*(heaviside(x+7)-heaviside(x))+y2*(heaviside(x)-heaviside(x-9))+y3*(heaviside(x-9)-heaviside(x-12)))
Error in ==> test7 at 11
yy(x)
可以幫我看看哪邊寫錯嗎?
還有如果我的函數都是用@(x)定的 還能用solve找交點嗎(因為我看
help那邊solve的函數都是用syms定的)
感謝~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.67.131.230
→
05/11 16:11, , 1F
05/11 16:11, 1F
→
05/11 16:12, , 2F
05/11 16:12, 2F
→
05/11 16:16, , 3F
05/11 16:16, 3F
→
05/11 16:17, , 4F
05/11 16:17, 4F
→
05/11 16:17, , 5F
05/11 16:17, 5F
→
05/11 16:18, , 6F
05/11 16:18, 6F
→
05/11 16:18, , 7F
05/11 16:18, 7F
→
05/11 16:19, , 8F
05/11 16:19, 8F
→
05/11 16:21, , 9F
05/11 16:21, 9F
→
05/11 16:21, , 10F
05/11 16:21, 10F
討論串 (同標題文章)