三、上机内容与步骤:
1、熟悉MATLAB软件环境,了解用户界面、掌握帮助系统使用等(重点)。
2、如求解函数f(x)=sin(x)在区间[0, 2π]内的最小值及最小值点,使用如下命令即可:
>> [x, fval] = fminbnd(@sin, 0, 2*pi)?
%符号“@”表明目标函数为MATLAB自定义的正弦函数sin.m。
x =4.7124 %最小值点赋值给x。fval =-1.0000 %最小值赋值给fval。
3、如果目标函数并不是MATLAB自定义的函数,需要首先定义一个函数M 文件,以该文件的名称来代替上述命令行中的“sin”部分。
如希望求出
3
e
x
log
x
x
cos
x
)x(f
+
+
=在[0,1]内的最小值及最小值点,首先编
写目标函数的M文件opt1.m,如下:
function f = myfun(x)
%编写函数M文件时,上句代码中的“myfun”并不一定与文件名相同。
f = (x^3+cos(x)+x*log(x))/exp(x)
然后调用fminbnd函数,在命令窗口中输入:
>> [x, fval]=fminbnd(@opt1, 0, 1)?
x =0.5223
fval =
0.3974
%注意此处使用“opt1”而不是“myfun”。
4、如果目标函数的表达式较为简单,也可以使用表达式的字符串而不必编写目标函数。如上例也可以使用[x, fval]=fminbnd('(x^3+cos(x)+x*log(x))/exp(x)',0,1)实现。
注:在MATLAB软件中,function为关键字,%为注释符号,>>为命令窗口中的提示符。