码迷,mamicode.com
首页 > 其他好文 > 详细

【MATLAB建模学习实录【二】】非线性规划函数模型板子

时间:2020-08-17 17:51:54      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:无法   方式   运算   print   函数   tla   学习   end   判断   

可以通过判断正定矩阵的方式来求解多元函数的极值点问题

下面以二元函数为例:

代码模板如下:

 1 clc,clear
 2 syms x y
 3 f=x^3-y^3+3*x^2+3*y^2-9*x;
 4 df=jacobian(f);%求导
 5 d2f=jacobian(df);%二阶导雅阁比行列式
 6 [xx,yy]=solve(df);%求驻点
 7 xx=double(xx);yy=double(yy);%化为double数组形式,用来进行运算
 8 for i = 1:length(xx)%遍历每个驻点
 9     ff=subs(f,{x,y},{xx(i),yy(i)});%球对应函数值
10     ff=double(ff);
11     a=subs(d2f,{x,y},{xx(i),yy(i)});%求特征值,如果所有特征值大于0为正定矩阵,都小于0为负定阵
12     b=eig(a);
13     if(all(b>0)) 
14         fprintf((%f,%f)是极小值点,对应极小值为%f\n,xx(i),yy(i),ff);
15     elseif (all(b<0))
16         fprintf((%f,%f)是极大值点,对应极大值为%f\n,xx(i),yy(i),ff);
17     elseif (any(b>0)&any(b<0))
18         fprintf((%f,%f)不是极值点\n,xx(i),yy(i));
19     else
20         fprintf((%f,%f)无法判断,xx(i),yy(i));
21     end
22 end

 

【MATLAB建模学习实录【二】】非线性规划函数模型板子

标签:无法   方式   运算   print   函数   tla   学习   end   判断   

原文地址:https://www.cnblogs.com/BeyondW/p/13508796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!