MATLAB求最小值问题-1.08*(97.5+1.66*sin(8*3.14*x)+4.73*sin(40*3.14*x)+15.14*sin(160*3.14*x)) 这个函数我用fminbnd 求出来是多个值,不知道哪里有错?或者不应该用fminbnd?我是初初学者,谢谢各位朋友了.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 16:01:54
MATLAB求最小值问题-1.08*(97.5+1.66*sin(8*3.14*x)+4.73*sin(40*3.14*x)+15.14*sin(160*3.14*x)) 这个函数我用fminbnd 求出来是多个值,不知道哪里有错?或者不应该用fminbnd?我是初初学者,谢谢各位朋友了.

MATLAB求最小值问题-1.08*(97.5+1.66*sin(8*3.14*x)+4.73*sin(40*3.14*x)+15.14*sin(160*3.14*x)) 这个函数我用fminbnd 求出来是多个值,不知道哪里有错?或者不应该用fminbnd?我是初初学者,谢谢各位朋友了.
MATLAB求最小值问题
-1.08*(97.5+1.66*sin(8*3.14*x)+4.73*sin(40*3.14*x)+15.14*sin(160*3.14*x)) 这个函数我用fminbnd 求出来是多个值,不知道哪里有错?或者不应该用fminbnd?我是初初学者,谢谢各位朋友了.

MATLAB求最小值问题-1.08*(97.5+1.66*sin(8*3.14*x)+4.73*sin(40*3.14*x)+15.14*sin(160*3.14*x)) 这个函数我用fminbnd 求出来是多个值,不知道哪里有错?或者不应该用fminbnd?我是初初学者,谢谢各位朋友了.
用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处于不同的区间,求出的局部最小值是不相同的.
因此,你得确定你要求在那个范围的最小值.

fminband求出来的是局部极小值点gko相当于导数为0的点eim使用时需要限制x的范围,求在某个范围内的局部极小值

fminband求出来的是局部极小值点,相当于导数为0的点,使用时需要限制x的范围,求在某个范围内的局部极小值这个我限制范围了,就是不知道是不是我限制的范围太小了。在你限制的范围内可能确实有多个极小值,把波形画出来看看波形,上面的朋友已经画出来,我是初初学者,只想求个最大值而已。...

全部展开

fminband求出来的是局部极小值点,相当于导数为0的点,使用时需要限制x的范围,求在某个范围内的局部极小值

收起