[問題] 這樣的多項式有辦法解嗎?

看板MATLAB作者 (小朋友)時間13年前 (2013/03/02 15:16), 編輯推噓0(0011)
留言11則, 2人參與, 最新討論串1/1
不好意思 小弟由於是初學者 不知道這樣的問題是好還是壞 但還是來詢問一下 想要下列多項式的x,在給定其他參數的情況下 0=r+r*h*eta*(1-phi)*tau*A*x^(alpha-1)-((1-alpha)*(1-tau)*A*x^alpha)-(h*eta^2*(1-phi)^2*tau^2*A^2*x^(2*(alpha-1)))/2 使用function寫一個m檔如下 function y=func11_2(x) sigma=2.5; rho=0.05; alpha=0.4; tau=0.4; r=0.06; h=10; phi=0.9; eta=1.25; theta=0.1; m=0.01; epsilon=0.5; A=1; y=r+r*h*eta*(1-phi)*tau*A*x^(alpha-1)-((1-alpha)*(1-tau)*A*x^alpha)-(h*eta^2*(1-phi)^2*tau^2*A^2*x^(2*(alpha-1)))/2; 然後再回到執行頁面輸入 >>fzero('func11_2',(-4)) 但似乎是無法求解 是不是應該使的方法錯了呢? 拜託大家了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.131.80

03/02 16:16, , 1F
你先試看看丟一個x的向量看看他會不會跑出對應你要的y
03/02 16:16, 1F

03/02 16:16, , 2F
這樣你比較知道怎麼debug
03/02 16:16, 2F

03/02 17:15, , 3F
丟x向量是說在直行檔丟嗎?
03/02 17:15, 3F

03/02 17:22, , 4F
丟了x有解出y值
03/02 17:22, 4F

03/02 20:41, , 5F
例如給個xtest=linspace(0,100,201);ytest=func11_2(xtest)
03/02 20:41, 5F

03/02 20:42, , 6F
看看會不會出問題 算出來確定是不是你要的
03/02 20:42, 6F
出現??? Undefined function or method 'func11_2' for input arguments of type 'double'. 03/02 21:20 我有試過不用m檔執行,好像也是無法解出x的值,但可以定義一個x,算出y,但是如果定義一個區間或是一個向量的話,他都會出現??? Error using ==> mpower Inputs must be a scalar and a square matrix. ※ 編輯: bigred731212 來自: 114.45.131.80 (03/02 21:27)

03/02 21:35, , 7F
這樣子就顯現一個問題 你裡面所有運算需要加個"."
03/02 21:35, 7F

03/02 21:36, , 8F
因為我不知道你的function原來長相 所以運算順序只有你知道
03/02 21:36, 8F

03/02 21:37, , 9F
需要乘的換成".*",需要次方的換成".^",需要除的換成"./"
03/02 21:37, 9F

03/02 21:41, , 10F
該怎麼弄你自己改看看瞜
03/02 21:41, 10F

03/02 21:43, , 11F
okok謝謝你的幫助!!!
03/02 21:43, 11F
文章代碼(AID): #1HCQSzam (MATLAB)