将多项式反符号的问题
我想求一个多项式取极大值时候自变量的取值。我知道matlab里有一个函数fminbnd('f(x)',x0,x1),是用来在区间(x0,x1)之间找极值点的。但是这只能找极小值,我想要的是极大值。
做了一个简单的m文件,名字是getroot.m,内容如下:
function [ b ] = getroot( a )
%UNTITLED1 Summary of this function goes here
% Detailed explanation goes here
b = fminbnd(a,0,1)
在matlab下输入getroot('x^2-2*x+1)可以得到正确的结果:0.9999,极小值点,但是当我想改成b = fminbnd(-a,0,1)时就不行了,我是刚开始学这个,所以不太懂他的错误提示:
??? Error using ==> fcnchk
FUN must be a function, a valid string expression,
or an inline function object.
Error in ==> fminbnd at 148
funfcn = fcnchk(funfcn,length(varargin));
Error in ==> getroot at 7
b = fminbnd(-a,0,1)
请教大家该怎么做!谢谢了 m(_ _)m