matlab裡,通過y f x 和x值得出y值,反過

時間 2021-05-05 14:36:47

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資料分別從...