作业帮 > 综合 > 作业

如何用matlab求函数最小值最大值啊?帮忙编一下这个函数的代码,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 02:28:35
如何用matlab求函数最小值最大值啊?帮忙编一下这个函数的代码,
用matlab计算下面三个函数的最优解及其t的取值:
f1=686.4./t.^2.*(exp(0.3*t)-1)+1.31./t.*(exp(0.3*t)-0.3*t-1)+137.4./t.*(exp(0.3*t)-1)
f3=480-120./t-800./t.*(exp(0.3*t)-1)-355.6./t.*(exp(0.3*t)-0.3*t-1);
f2=480-240./t-843.97./t.*(exp(0.3*t)-1)-356./t.*(exp(0.3*t)-0.3*t-1)-219.6./t.^2.*(exp(0.3*t)-1)-146.528./t.^2.*(exp(0.3*t)-1).*(exp(-0.3*t)-1);
t的范围是大于等于零.
举个例子
以第一个为例
syms t;
f1=686.4./t.^2.*(exp(0.3*t)-1)+1.31./t.*(exp(0.3*t)-0.3*t-1)+137.4./t.*(exp(0.3*t)-1);
df1=diff(f1,t)
tt=solve(df1,'t')
ezplot(f1)
minf=feval(@(t)eval(f1),tt)
hold on;
plot(tt,minf,'ro')
==========结果
df1 =
(131*((3*exp((3*t)/10))/10 - 3/10))/(100*t) + (2061*exp((3*t)/10))/(50*t) + (5148*exp((3*t)/10))/(25*t^2) - (687*(exp((3*t)/10) - 1))/(5*t^2) - (6864*(exp((3*t)/10) - 1))/(5*t^3) + (131*((3*t)/10 - exp((3*t)/10) + 1))/(100*t^2)
tt =
3.3907736905146573977514580257101
minf =
177.23480334269610970241980862625