如何用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
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-21
#include<stdio.h>
int getMax(int a,int b,int c)
{
return a>b? a:(b>c? b:c);
}
int getMin(int a,int b,int c)
{
return a<b? a:(b<c? b:c);
}
void main()
{
int a,b,c;
printf("Please input three numbers:\n");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
printf("the max number is:%d\n",getMax(a,b,c));
printf("the min number is:%d\n",getMin(a,b,c));
getchar();
}

估计差不多,
追问

有错误
??? Error: File: Untitled3.m Line: 1 Column: 1
The input character is not valid in MATLAB statements or expressions.

如何用matlab求函数最小值最大值啊?各位大侠,帮忙编一下这个函数的代码...
以第一个为例 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(...

求助用matlab求这个函数的最大值
1、自定义目标函数,fmincon_fun(x),这里x=[a,b],其内容 y=-((a.^2+b.^2-1).\/(a*b)); %负号的意思求最大值即最小值的相反数 2、自定义约束条件函数,fmincon_con(x),这里x=[a,b],其内容 条件1(1≤b):c(1)=1-b 条件2(b≤a):c(2)=b-a 条件3(a≤√3...

如何用matlab求函数最优解
如果求函数在区间内的最小值,可以用fminbnd。但如果限定x是整数,可以直接求出所有点的函数值来,然后用min来求。参考代码:f=@(x)100000.\/x+333*x;x0=fminbnd(@(x)100000\/x+333*x,1,100)ezplot(f,[1 100])hold on;plot(x0,f(x0),'ro')x=1:100;y=f(x);[ymin,inx]=min(y...

怎么求函数的极小值 matlab里
1、首先在电脑中启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码。2、其中f=@(x)是通过匿名函数的方法定义函数,inline( )是通过内联函数的方法定义函数。3、然后保存和运行上述脚本,如下图所示。4、在命令行窗口返回如下结果。5、保存和运行上述脚本也会得到以下图像,可以看到函数f(x)=...

用matlab编写一个求函数的最小值的程序?
1、用下列这个代码求解,其t、y值是无法代入方程的。x=solve('465*sin(x)+200=120*cos(t*1.2+pi\/3)+369*sin(x-y)','x');所以软件会提示有关sym的信息。2、如要显示x值,其该语句最后不能有分号(;)。由于你给出的t、y值是以一组向量形式存放的,因此要计算你的x值必须要用循环...

matlab如何求函数的最大值
matlab如何求函数的最大值。(1)先在命令窗口给s,A赋值。(2)>> y=@(x)0.65*(s+x)*x\/(A+x)。(3)[x,fval]= fminbnd(y,0,inf)%用于求函数y在x在[0,inf]内的最小值。则在取负即为求最大值。不过本题我试验了,本题好像有问题。手算都没有最大值的,因为对y求导后y'在...

matlab写一个函数可以实现计算给定矩阵中的最大值最小值平均值
function [MaxNum,MinNum,AveNum]=Comput(X) MaxNum=max(max(X)); MinNum=min(min(X)); AveNum=mean(mean(X));end

请问用matlab怎样求一个函数的最大值
1.打开matlab软件,清空桌面环境;clear clc 2.定义一个符号变量:syms t 3.定义一个函数:y=t\/(1+t*t);再通过以下函数来查看上面的函数图像;ezplot(y);4.查看该函数的图像可知,函数在0到2之间有一个极值,本例求解该最大值为例;5.输入以下的指令可以求得该函数最大值;max(subs(y,t,...

Matlab 编写函数,找出 n个数中的最大值和最小值及其所在位置
在MATLAB中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数sym,或者是用到符号定义函数syms,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。1.用命令sym定义矩阵:这时的函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素...

matlab关于调用一个函数,使得输出 平均值: 最大值: 最小值: 这样分行...
被调用函数可以这样编写:function [a1,b1,c1]=shuchu(bian1,bian2,bian3)a1=(bian1+bian2+bian3)\/3;b1=max([bian1,bian2,bian3]);c1=min([bian1,bian2,bian3]);fprintf('平均值:%d,最大数:%d,最小数:%d',a1,b1,c1)end 主函数是这样:x1=input('请输入第一个个数:');x2=...

相似回答