[問題] 函數向量除法?已回收

看板MATLAB作者 (Gary)時間14年前 (2011/09/18 16:37), 編輯推噓3(308)
留言11則, 3人參與, 最新討論串1/1
各位好 我在做函數擬合時 因為我的數據是一串的 所以matlab勢必將數據串視為向量 導致我在數據串相除時產生問題 我知道 [1 2 3].^2=1 4 9 % matlab會把向量視為各別數據做平方 但是我想做的是 [1 2 3].^2/[1 2 3]= 希望可以變成1 2 3 也就是[1 4 9]各別對應[1 2 3]做除法 可以這樣做嗎? 我是matlab新手 希望知道的人 可以教教我 拜託了<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.150.220

09/18 18:47, , 1F
[1 2 3].^2./[1 2 3]
09/18 18:47, 1F
感謝回答 但我剛剛試了一下我的函數 好像還是有問題 我的函數是 F=A*B*exp(x(1)*B*xdata)/(B+A*(exp(x(1)*B*xdata)-1)) A.B都是常數 x(1)是我欲求得的參數 請問我應該'點'在哪裡? 謝謝了 ※ 編輯: wmin 來自: 140.115.150.220 (09/18 19:40) ※ 編輯: wmin 來自: 140.115.150.220 (09/18 19:41)

09/18 19:41, , 2F
除號前面?
09/18 19:41, 2F

09/18 19:42, , 3F
F=A*B*exp(x(1)*B*t)./(B+A*(exp(x(1)*B*t)-1))
09/18 19:42, 3F
這個我試過咧 會出現 Input argument "x" is undefined 是我其他地方有錯誤嘛!? ※ 編輯: wmin 來自: 140.115.150.220 (09/18 19:50)

09/18 21:14, , 4F
他說你x沒有給東西
09/18 21:14, 4F

09/18 21:15, , 5F
你F未知 x(1)也未知 一條方程式 怎麼求兩個未知數?
09/18 21:15, 5F
F是我的函數名稱 ---------------全部如下----------------------------- function F=myfun(x,xdata); xdata=[ ]; ydata=[ ]; A=已知常數; B=已知常數; F=A*B*exp(x(1)*B*xdata)/(B+A*(exp(x(1)*B*xata)-1)); x0=[0.1]; [x,resnorm]=lsqcurvefit(@myfun,x0,xdata,ydata) ---------------------------------------------------- 我想求最佳x值 請各位大大解惑 ※ 編輯: wmin 來自: 140.115.150.220 (09/18 22:22)

09/19 19:39, , 6F
x=[1 4 9],for i=1:3,y(i,i)=i;end, x*y^-1=[1 2 3]
09/19 19:39, 6F

09/19 19:40, , 7F
這是用矩陣運算的作法
09/19 19:40, 7F

09/19 19:42, , 8F
所以先把x化為對角矩陣後, F*x^-1就是答案了
09/19 19:42, 8F

09/19 19:53, , 9F
一般來說要求最佳參數, 你的x0應該丟很多筆去給函式跑吧
09/19 19:53, 9F

09/19 19:54, , 10F
那個t是有給定的向量嗎? 是的話你的F中間應該要./而非/
09/19 19:54, 10F

09/19 19:55, , 11F
我猜你的問題是中間的那個/要改成./
09/19 19:55, 11F
※ 編輯: wmin 來自: 140.115.150.220 (09/23 12:52) ※ 編輯: wmin 來自: 140.115.150.220 (09/23 12:53) ※ 編輯: wmin 來自: 140.115.150.220 (09/23 13:19) 謝謝你 我似乎解決這個問題了 但是我又遇到另外一個問題了Orz... Input argument "x" is undefined ※ 編輯: wmin 來自: 140.115.150.220 (09/23 21:39)
文章代碼(AID): #1ETQsy7s (MATLAB)