Matlab用fminbnd求出的最小值用plot畫出後不一致是為什麼呢

時間 2021-07-01 01:43:38

1樓:劉賀

findbnd只能給出區域性最小值,所以用這個命令時,初始範圍很重要

建議你看看fminbnd的help。

plot(x,cos(4*x).*sin(10*x).*exp(-abs(x)))給出的最小值也不是0呀,不知你怎麼算的

如果用數值方法,自變數步進要很小才行,要不就用ezplot

clear all;clc;

f=@(x)cos(4*x).*sin(10*x).*exp(-abs(x));

[xm,ym]=fminbnd(f,-pi,pi)

xm =

0.7768

ym =

-0.4579

----------------------------------------

clear all;clc;

f=@(x)cos(4*x).*sin(10*x).*exp(-abs(x));

[xm,ym]=fminbnd(f,-1,1)

xm =

-0.1261

ym =

-0.7350

--------------------------------------------

clear all;clc;

t=-pi:pi/100:pi;

y=cos(4*t).*sin(10*t).*exp(-abs(t));

plot(t,y);grid on;

>> min(t)

ans =

-3.1416

>> min(y)

ans =

-0.7350

2樓:匿名使用者

應該用ezplot()來畫

matlab的fminbnd函式求出的最小值與實際最小值有誤差怎麼消除?

3樓:匿名使用者

本來fminbnd是基於數值計算的肯定存在捨入誤差我們可以增加引數'tolx',設定允許誤差的範圍專只要給err乙個很少的值屬,返回的誤差就會小於這個值x = fminbnd(fun,x1,x2,'tolx',err)然而本身fminbnd就是在x1

那麼在閉區間中的最小值肯定是三個值中最小的值,這樣可以取得閉區間端點處的最小值

而對於區間內部的最小值,fminbnd得到的結果或多或少是要存在誤差的

matlab 隱函式求解出來結果很詭異,想用 fminbnd 求解 最小值,錯誤,具體程式如下

4樓:匿名使用者

最主要的問題在於,你的jie是sym物件

matlab求最小值問題

5樓:匿名使用者

用fminbnd沒有錯,求最小值問題只能用這個函式,它的求解精度是比較高的。

fminbnd(fun,a,b)只能求解f(x)在[a,b]內的區域性最小值。

例如:>> fun=inline('-1.08*(97.

5+1.66*sin(8*pi*x)+4.73*sin(40*pi*x)+15.

14*sin(160*pi*x))','x');

>> x = fminbnd(fun, 0, 2) [0,2]內的區域性最小值

x =0.7656

>> x = fminbnd(fun, 0, 4) [0,4]內的區域性最小值

x =1.5033

>> x = fminbnd(fun, 2, 4) [2,4]內的區域性最小值

x =2.7656

所以,當x處於不同的區間,求出的區域性最小值是不相同的。

因此,你得確定你要求在那個範圍的最小值。

6樓:匿名使用者

fminband求出來的是區域性極小值點,相當於導數為0的點,使用時需要限制x的範圍,求在某個範圍內的區域性極小值

用matlab求反函式,用matlab求一個反函式

z就相當於你原來函式裡面的x,而x相當於你原來函式的y。求y x x 2 18 6 x x 2 x 3 的反函式,相當於把上述方程中y當成已知量來求x,那麼把方程,得到分子是一個關於x的4次多項式 syms x y collect numden y x x 2 18 6 x x 2 x 3 x an...

用matlab做牛頓迭代法,用matlab如何編寫牛頓迭代法問題,謝謝

sky不用太多 function a cal a,b,v a,b表示區間,v是精度 i 1 x a b 2 a i x t x x 3 x 1 3 x 2 1 迭代函式 while abs t x v i i 1 x t a a i x t x x 3 x 1 3 x 2 1 迭代函式 enda a...

matlab中求極值點,matlab中求極值點

先畫出導數的曲線,根據其零點判斷有幾個極點,然後對各極點分別指定適當的初值,利用fsolve求出準確的零點位置,再繪圖即可.參考 如下 symsxf 2 x.2 4 sin 2 pi x df diff f ezplot df,33 x0 1.8 1.3 0.80.50.20.51.2 x0 fso...