關於matlab中fsolve函式的使用

2021-05-02 11:23:21 字數 2321 閱讀 6659

1樓:靳恭舜水

m檔案修改如下:

function a=myfun(x)

k=340;

r=0.08;

t=150/365;

c=29.8299;

p=8.8335;

a=blsprice(x(1),k,r,t,x(2))-[c,p];這樣從語法上來說,不存在錯誤了;但是執行結果似乎找不到解,這就取決於:

①這個模型是否有解,②

你給的初值是否在解的附近。

2樓:匿名使用者

不必用符號函式, 另外寫一個函式,如:

function f = myfun(x)

f = sin(x);

3樓:手機使用者

把x、y用x(1)、x(2)表示,指定初值求解即可:

>> fsolve(@(x)x(1)^2+x(2)^2,[1 1])warning: trust-region-dogleg algorithm of fsolve cannot handle non-square systems;using levenberg-marquardt algorithm instead. > in fsolve at 319optimization terminated:

the first-order optimality measure is less than 1e-4 times options.tolfun.ans = 1.

0e-003 * 0.2447 0.2447其中,警告可以無視。

是否可以解決您的問題?

請問matlab中fsolve函式怎麼用的

4樓:匿名使用者

把x、y用x(1)、x(2)表示,指定初值求解即可:

>> fsolve(@(x)x(1)^2+x(2)^2,[1 1])warning: trust-region-dogleg algorithm of fsolve cannot handle non-square systems;

using levenberg-marquardt algorithm instead.

> in fsolve at 319

optimization terminated: the first-order optimality measure is less than 1e-4 times options.tolfun.

ans =

1.0e-003 *

0.2447    0.2447

其中,警告可以無視。

5樓:登峰數學資源

x=fsolve(fun,x0)求解fun(x)=0的解,x0是初值,fun是函式,x就是解

因為fsolve使用迭代法求解方程的,所以總要有個迭代的初值吧,這個初值就是你給的x0。

比如解方程組

x(1).^2+x(2).^2=1

x(1)=2*x(2)

可以寫成

f=@(x)([x(1).^2+x(2).^2-1;x(1)-2*x(2)])

x=fsolve(f,[1 1])

這裡[1 1]就是初值,其實初值一般情況下可以隨便給的。

6樓:嚇棟棟

x = fsolve('2*x^2+7*x+5',0)

最簡單的一個用法,前面是表示式,後面是初始搜尋值,這個函式是從初始搜尋點開始搜尋,找到一個滿足條件的就停止,因此只能找到一個解。改變初始搜尋點,就可以找到不同的解

請問matlab中fsolve函式怎麼使用?

7樓:登峰數學資源

x=fsolve(fun,x0)求解fun(x)=0的解,x0是初值,fun是函式,x就是解

因為fsolve使用迭代法求解方程的,所以總要有個迭代的初值吧,這個初值就是你給的x0。

比如解方程組

x(1).^2+x(2).^2=1

x(1)=2*x(2)

可以寫成

f=@(x)([x(1).^2+x(2).^2-1;x(1)-2*x(2)])

x=fsolve(f,[1 1])

這裡[1 1]就是初值,其實初值一般情況下可以隨便給的。

matlab中的fsolve函式的用法

8樓:嚇棟棟

x = fsolve('2*x^2+7*x+5',0)

最簡單的一個用法,前面是表示式,後面是初始搜尋值,這個函式是從初始搜尋點開始搜尋,找到一個滿足條件的就停止,因此只能找到一個解。改變初始搜尋點,就可以找到不同的解

我想請問關於matlab中,for迴圈下有並列的if語句,如果不滿足其中的

按照你的意願,像這種迴圈語句裡的判斷語句,應該採用下列程式for i 1 n if 執行1elseif 執行2else 執行3end end這樣的判斷是連續的,即當條件不滿足時,程式會繼續往下去判斷,直到滿足時才停止判斷。解決了麼?我也想知道 matlab語句中,兩個for語句,再加個if語句,然後...

matlab中的複數和角度,MATLAB中的複數和角度

45度時,實軸為1,虛bai軸為i,則 angle 1 i 180 pi ans 45 可以du看出,angle計算出來的zhi是弧度,乘以180 pi化為角 dao度。angle i 180 pi ans 90 直角內時,實軸為0 abs 1 i ans 1.4142 1.4142即根號容2,模 ...

matlab中是什麼意思,Matlab中的 什麼意思

是匿名函式的意思。匿名函式就像傳統程式語言中的行內函數,在單個matlab語句中定義。它由單個matlab表示式和任意數量的輸入和輸出引數組成。可以在matlab命令列或函式或指令碼中定義一個匿名函式。這樣就可以建立簡單的函式,而無需為它們建立一個檔案。從表示式建立匿名函式的語法是 f arglis...