求把用matlab求函数求极值点 matlab和画出图像的程序发给我下吧,谢谢了

MATLAB(10)
1.&&&&&&roots函数
针对多项式求零点(详见MATLAB多项式及多项式拟合)
2.&&&&&&fzero函数
返回一元函数在某个区间内的的零点.
x0 = fzero(@(x)x.^2-3*x-4,[1,5]);
只能求区间里面的一个零点,并且要求在给定区间端点函数值异号,所以使用之前应该先作图,得出单个零点分布的区间,然后使用该函数求零点.若有多个零点,则需多次使用该函数.
如需求上例中的全部零点,先作图
fplot(@(x)x.^2-3*x-4,[-10,10]);
得知两个零点的分布区间,然后两次使用fzero函数求对应区间的零点.
x1 = fzero(@(x)x.^2-3*x-4,[-2,0]);
x2 = fzero(@(x)x.^2-3*x-4,[2,6]);
3.&&&&&&solve函数
求一元函数(方程)的零点.
x0 = solve('x^2-3*x-4=0','x');
注意方程需包含’=0’部分,另外,不建议直接将方程写在函数solve的参数部分,可以用符号运算的方法.
4.&&&&&&fminbnd函数
求一元函数在某个区间内的最小值和对应的最小值点.
[x0,fmin]=fminbnd(@(x)x+1/(x+1),-0.5,2);
求极值与极值点之前须估计极值点的区间,保证在该区间没有使得函数值趋于无穷的点.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4092次
排名:千里之外
原创:23篇
(5)(8)(3)(2)(5)实验3Matlab符号运算及求函数极值;一、实验目的和要求;掌握用Matlab软件进行符号运算以及求函数的极;二、实验环境;Windows系列操作系统,Matlab软件;三、实验内容;1.用MATLAB进行符号运算;;2.编程求函数的极值;四、实验步骤;3.;4.;5.;6.;7.开启软件平台――Matlab,开启Matla;五、示例;1.计算一元函数的极值
Matlab 符号运算及求函数极值
一、实验目的和要求
掌握用Matlab软件进行符号运算以及求函数的极值。
二、实验环境
Windows系列操作系统,Matlab软件。
三、实验内容
1. 用MATLAB进行符号运算;
2. 编程求函数的极值。
四、实验步骤
7. 开启软件平台――Matlab,开启Matlab编辑窗口;
根据求解步骤编写M文件;
保存文件并运行;
观察运行结果(数值或图形);
根据观察到的结果和体会写出实验报告。
1.计算一元函数的极值
3x2?4x?4例1 求y?的极值 2x?x?1
解 首先建立函数关系:
y=(3*x^2+4*x+4)/( x^2+x+1);
然后求函数的驻点:
dy=diff(y);
xz=solve(dy)
知道函数有两个驻点x1=0和x2=-2,
接下来我们通过考察函数的图形,则它的极值情况和许多其它特性是一目了然的。而借助MATLAB的作图功能,我们很容易做到这一点。
例2 画出上例中函数的图形
y=(3*x^2+4*x+4)/( x^2+x+1);
得到如下图形
2.计算二元函数的极值
MATLAB中主要用diff求函数的偏导数,用jacobian求Jacobian矩阵。
求函数z?x?8xy?2y?3的极值点和极值.
首先用diff命令求z关于x,y的偏导数
&&z=x^4-8*x*y+2*y^2-3;
&&diff(z,x)
&&diff(z,y)
ans =4*x^3-8*y
ans =-8*x+4*y
即42?z?z?4x3?8y,??8x?4y再求解方程,求得各驻点的坐标。一般方程组的符号解用?x?y
solve命令,当方程组不存在符号解时,solve将给出数值解。求解方程的MATLAB代码为:
&&[x,y]=solve('4*x^3-8*y=0','-8*x+4*y=0','x','y')
结果有三个驻点,分别是P(-2,-4),Q(0,0),R(2,4).
我们仍然通过画函数图形来观测极值点与鞍点。
&&x=-5:0.2:5;
y=-5:0.2:5;
&&[X,Y]=meshgrid(x,y);
&&Z=X.^4-8*X.*Y+2*Y.^2-3;
&&mesh(X,Y,Z)
&&xlabel('x'),ylabel('y'),zlabel('z')
函数曲面图
可见在图1中不容易观测极值点,这是因为z的取值范围为[-500,100],是一幅远景图,局部信息丢失较多,观测不到图像细节.可以通过画等值线来观测极值.
&&contour(X,Y,Z, 600)
&&xlabel('x'),ylabel('y')
由图2可见,随着图形灰度的逐渐变浅,函数值逐渐减小,图形中有两个明显的极小值点P(?2,?4)和Q(2,4).根据提梯度与等高线之间的关系,梯度的方向是等高线的法方向,且指向函数增加的方向.由此可知,极值点应该有等高线环绕,而点Q(0,0)周围没有等高线环绕,不是极值点,是鞍点.
六、实验任务:
2.求z?x4?y4?4xy?1的极值,并对图形进行观测。 1.求y?2sinx?sin3x的极值,并画出函数图形。
七、 程序代码及运行结果(经调试后正确的源程序)
包含各类专业文献、文学作品欣赏、专业论文、生活休闲娱乐、行业资料、幼儿教育、小学教育、应用写作文书、实验3____Matlab_符号运算及求函数极值_图文07等内容。 
 实验3 函数的极值以及符号表达式的计算_计算机软件及应用_IT/计算机_专业资料。实验...实验3 表达式和常用内部... 2页 免费喜欢此文档的还喜欢 matlab软件求极值和...  3 的极值点和极值。 【实验准备】 实验准备】 1.计算多元函数的极值 2.计算二元函数在区域 D 内的最大值和最小值 3.求函数偏导数的 MATLAB 命令 MATLAB 中...  用 MATLAB 求极值灵活的运用 MATLAB 的计算功能,...MATLAB 求函数的极值点和最大值 比如说 y=x^3+...(x,y,z) subs 是赋值函数,用数值替代符号变量 ...  数学实验三MATLAB符号运算功能_数学_自然科学_专业资料。实验 3 MATLAB 符号运算...说明下面程序中每个命令的作用: syms x h %定义符号函数x和h f = exp(sin...  实验3_matlab应用1_数学_自然科学_专业资料。嘉应学院数学系 实验报告课程名称:...2. 3. 掌握用 matlab 进行方程求解及求函数极值的方法。 掌握用 matlab 求...  11MATLAB求函数极值_理学_高等教育_教育专区。教学过程与内容: 求函数极小值命令格式:[x,minf]=fminbnd(‘f’,a,b) 求函数极大值命令格式:[x,maxf]=fmin...  实验五 MATLAB 解方程与函数极值 1 线性方程组求解 2 非线性方程数值求解 3 常微分方程初值问题的数值解法 4 函数极值 1 线性方程组求解 1.1 直接解法 1....  MATLAB实验:条件极值_数学_自然科学_专业资料。 学年第 2 学期 合肥...实验目的 三. 实验内容 1. 用 Matlab 求函数 z ? xy 在条件 x ? y ? ...  利用MATLAB 求多元函数的极值分两种情况,(1)无约束条件;(2)有约束条件。 (2...(3) 然后重写约束条件为两个小于或等于一个常数的不等式, 因为约束条件是线性...Matlab 符号运算及求函数极值_中华文本库
第1页/共9页
Matlab 符号运算及求函数极值
一、实验目的和要求
掌握用Matlab软件进行符号运算以及求函数的极值。
二、实验环境
Windows系列操作系统,Matlab软件。
三、实验内容
1. 用MATLAB进行符号运算;
2. 编程求函数的极值。
四、实验步骤
7. 开启软件平台——Matlab,开启Matlab编辑窗口;
根据求解步骤编写M文件;
保存文件并运行;
观察运行结果(数值或图形);
根据观察到的结果和体会写出实验报告。
1.计算一元函数的极值
3x2?4x?4例1 求y?的极值 2x?x?1
解 首先建立函数关系:
y=(3*x^2+4*x+4)/( x^2+x+1);
然后求函数的驻点:
dy=diff(y);
xz=solve(dy)
知道函数有两个驻点x1=0和x2=-2,
接下来我们通过考察函数的图形,则它的极值情况和许多其它特性是一目了然的。而借助MATLAB的作图功能,我们很容易做到这一点。
例2 画出上例中函数的图形
第1页/共9页
寻找更多 ""博客访问: 2269770
博文数量: 884
博客积分: 10132
博客等级: 上将
技术积分: 7795
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
Matlab中如何求一个序列的极值?
我们知道,在Matlab中有专门求序列最大值和最小值的函数,分别是Max 和 Min,但是有时候我们不满足于求整个序列的最值,而是对序列的极值,也就是局部的最值感兴趣。对于解析函
数,这个比较简单,只要令一阶倒数为零求出对应的自变量就行了。
然而对于离散的序列,这种方法显然不可行,一个比较费劲或者说比较笨的方法就是手工查找,仔细考察序
列的每一个值,用手工的方法将极值逐一挑出来。然而对于比较长的序列,这种方法显然不可行。我们期望有一个自动判断序列中某个点是极值点的函数,把这个艰
巨的任务交给Matlab,让Matlab帮我们去找,这样可以
节省我们宝贵的时间,把更多的时间放在更有意义的事情上面。
假设我们有一个长度为N的序列v(N,1),下面就是Matlab中实现求v的极值点的命令,其中用到了逻辑数组下标的方法:
v = rand (N,1);
t = 0:length(v)-1;
Lmax = diff(sign(diff(v)))== -2; % logic vector for the local max value
Lmin = diff(sign(diff(v)))== 2; % logic vector for the local min value
% match the logic vector to the original vecor to
have the same length
Lmax = [ L false];
Lmin =& [ L false];
tmax = t (Lmax); %
locations of the local max elements
tmin = t (Lmin); %
locations of the local min elements
vmax = v (Lmax); % values
of the local max elements
vmin = v (Lmin); % values
of the local min elements
% plot them on a figure
plot(t,v);
xlabel('t'); ylabel('v');
plot(tmax, vmax, 'r+');
plot(tmin,vmin, 'g+');
结果如图所示:红色十字代表极大值,绿色十字代表极小值。
阅读(12421) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 求极值点 matlab 的文章

 

随机推荐