請問matlab中fsolve函式怎麼用的

2021-05-02 11:23:22 字數 2320 閱讀 7139

1樓:匿名使用者

把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

其中,警告可以無視。

2樓:登峰數學資源

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]就是初值,其實初值一般情況下可以隨便給的。

3樓:嚇棟棟

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

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

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

4樓:登峰數學資源

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函式的使用

5樓:靳恭舜水

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];這樣從語法上來說,不存在錯誤了;但是執行結果似乎找不到解,這就取決於:

①這個模型是否有解,②

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

6樓:匿名使用者

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

function f = myfun(x)

f = sin(x);

7樓:手機使用者

把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函式的用法

8樓:嚇棟棟

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

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

matlab中sym的用法Matlab中sym的用法

matlab中sym有6種用法,sym x 是不正確的用法。1 s sym a 將非符號物件 如,數字,表示式,變數等 a轉換為符號物件,並儲存在符號變數s中。2 x sym x 建立符號變數x,其名字是 x 示例 alpha sym alpha 3 x sym x real 這裡假設x是實數,因此...

matlab中怎麼跳出迴圈,matlab中的如何跳出while死迴圈

拓展說明 matlab中有關控制迴圈的有三個命令,break,continue和return。1.使用break 退出迴圈 可以使用break 語句直接強行退出迴圈,忽略迴圈體中任何其他語句和迴圈條件測試。在迴圈中遇到break語句時,迴圈被終止,程式控制在迴圈後面語句重新開始。例如 如果for 迴...

matlab中a是什麼意思matlab中a是什麼意思

a 是把矩陣a轉換為一個行向量,就是一行。例如 a rand 2,3 a 0.6925 0.3965 0.78020.5567 0.0616 0.3376 b a b 0.6925 0.5567 0.3965 0.0616 0.7802 0.3376 注意事項 a中逗號之前的 表示所有行,逗號之後的...