1樓:匿名使用者
如果知道函式的解析表示式,可以考慮試一試finverse,在一些簡單的情況下,可能求出反函式的表示式。例如,
syms x,finverse(1/tan(x))得到atan(1/x)
如果使用上面的finverse求反函式失敗,可以用數值方法來求反函式的值。例如,對於函式
y=x^3+sin(x)
使用finverse無法求出反函式的解析表示式,如果現在想知道y=100對應的x值,可以這樣做:
y=inline('x^3+sin(x)-100');
x=fsolve(y,0,optimset('fsolve'))求出x=4.6570
如果沒有函式表示式而只有x-y資料,可以使用插值的方法,例如% 生成測試資料
x=-1:.1:1;
y=x.^3+sin(x);
% 插值求出y=-0.5和0.5對應的x值並繪圖y0=[-0.5 0.5];x0=interp1(y,x,y0);
plot(x,y,'.-',x0,y0,'ro')但這裡需要注意反函式是否為單值函式,如果不是,應分段處理。
2樓:宇逸
你用反函式唄
finverse函式
matlab中求大神告訴我畫出直線後,已經另一個x的值,如何求所對應的y值。並且再直線上畫出。 5
3樓:風兒lamp沙兒
已知x,則
y=polyval(p,x);
text(x,y,'o');
matlab中如何根據x,y的值擬合曲線,然後將任意x對應y的值代入z=ay+b的公式中求出z的值? 10
4樓:木子徵
x0 = [3 4 5 7.5 10 15 20 40];
y0=[2.75005 3.2248 3.5750 4.0362 4.2357 4.3947 4.4553 4.5129];
z = polyfit(x0,y0,1);
polyval(z,x) %x為任意x
5樓:匿名使用者
你的數值本身就不滿足線性關係,你確定是要擬合成直線?
matlab中做指數擬合,如何輸入一個x值,得到擬合後的y值?
6樓:
你這個曲線擬合本來就不是簡單的事情。對於這種指數函式的線性組合,一般很難找到合適的變換使其變成多項式。如果你能找到這樣的變換,那麼問題就簡單許多。
如果不能,那麼就需要bayesian inference和metropolis-hastings來實現較為嚴格的擬合。這種方法較為複雜而且費時,但是如果得到的posterior distributions都是收斂的話,那麼這個擬合結果是非常可信的,甚至可以發表。
如果你只是想根據已知的資料來推測一些中間值,並且你假設的這個函式沒有任何理論依據的話,還是建議用插值比較方便。另外,目測資料的y值波動並不大,插值應該是比較準確的。
matlab裡怎麼呼叫函式,在matlab中怎麼直接呼叫函式
手機使用者 matlab可以在m檔案函式中定義一個函式和多個子函式,但是需要注意的是子函式只能由同一m檔案中的函式呼叫。如下面的例子 function max,min mypfun x 主函式n length x max mysubfun1 x,n min mysubfun2 x function ...
matlab傅立葉曲線擬合,matlab擬合工具箱用傅立葉逼近對某條曲線擬合???
以下 在7.1版以上均可執行。將以下 儲存為m檔案 function yy zzz700createfit x,y,n xdata x ydata y set up fittype and options.ft fittype fourier num2str n opts fitoptions ft...
關於matlab通過矩陣畫三維圖
輕煙談生活 1 對於三維圖形其有x y z三個座標軸,資料也要按三維確定,如圖所示,下面是部分單位資料樣例。2 首先需要將資料讀取到matlab工作空間 workspace 中,使用xlsread 函式即可,使用絕對路徑讀取,因為不在matlab預設路徑內。3 接著,需要將x1 y1 z1資料分別從...