[問題] 隱函數擬合後 求相對應y值

看板MATLAB作者 (Gary)時間14年前 (2012/02/10 03:04), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
發上一篇問的問題後 發覺自己的函數是個隱函數Orz... 參考google大神上對於隱函數的擬合問題 終於解決了~ 不過我還有一個問題... xlsFile='data.xls'; t(1,:)=xlsread(xlsFile,'sheet1','A1:A600')'; y(1,:)=xlsread(xlsFile,'sheet1','B1:B600')'; tt=t'; yy=y'; F=@(p,x) ((log((x(:,2)*(p(2)-p(3)))./(p(2)*(x(:,2)-p(3)))) -p(3)*(x(:,2).^-1-p(2)^-1))./(p(1)*p(3)^2))-x(:,1); x=[tt yy]; p0=[100000 0.00012 0.00004]; p=nlinfit(x,zeros(size(x,1),1),F,p0) plot(x(:,1),x(:,2),'ro'); hold on; ezplot(@(t,y)F(p,[t y]),[0,43200,0.00018,0.000039]); format long; 就是到這裡一切都沒問題 但是我想求 擬合得到參數p後 帶入x值 求出相對應的y值 這邊不知道有人可以給我建議該如何求嗎? 我有google到一個例子 就是假設f(x,y) = exp(x/y)-x^sin(y)=0 給定x值 求相對應y可利用 Y = @(x) fzero(@(y) exp(x/y)-x^sin(y),1); x=1.5時之y值即為 Y(1.5) 但是我的例子要怎麼套用上去 我就搞了好久... 有人可以給我一點hint嗎? 先感謝各位了Q_Q -- 年輕就是要揮霍青春熱血一下! 什麼事都要精打細算過後才去做的話 也許都忘了一開始是為了什麼... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.150.220

02/11 00:22, , 1F
其實圖都畫出來了 可以直接從圖上把所有點的座標讀取出來
02/11 00:22, 1F

02/11 00:23, , 2F
再用內插法就可以了
02/11 00:23, 2F

02/11 00:28, , 3F
座標取出來和內插法就靠自己研究了
02/11 00:28, 3F
謝謝a大提供的意見 不過我用fzero其他方法解出來了XD ※ 編輯: wmin 來自: 140.115.150.220 (02/19 18:36)
文章代碼(AID): #1FD1YzMO (MATLAB)