- 在线时间
- 48 小时
- 最后登录
- 2017-1-23
- 注册时间
- 2015-6-7
- 听众数
- 11
- 收听数
- 2
- 能力
- 0 分
- 体力
- 558 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 268
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 195
- 主题
- 6
- 精华
- 0
- 分享
- 0
- 好友
- 29
升级   84% TA的每日心情 | 奋斗 2016-5-1 21:35 |
|---|
签到天数: 82 天 [LV.6]常住居民II
 群组: 2015司守奎matlab培训 群组: C 语言讨论组 群组: Matlab讨论组 群组: LINGO |
2体力
syms x y
( t2 y, j2 e2 A4 N- c) Z& U" n. B6 ?. Pf=x^3-y^3+3*x^2+3*y^2-9*x;
% S* E/ x+ n, ?! _, ddf=jacobian(f); %求一阶偏导数 w+ ]2 h; p. S) }+ j0 Z5 ^% b7 ^
d2f=jacobian(df); %求Hessian阵
1 i. P0 I4 E' l2 B7 C[xx,yy]=solve(df) %求驻点
/ P" e" s7 I8 g8 Q; xxx=double(xx);yy=double(yy); %转化成双精度浮点型数据,下面判断特征值的正负,必须是数值型数据# q; u) z% t7 Z* r s. f. C; w$ ~; S
for i=1:length(xx)
$ M3 x. p) J+ D1 s a=subs(d2f,{x,y},{xx(i),yy(i)});
2 ^2 V( m- q/ u7 @: E b=eig(a); %求矩阵的特征值; V/ Q( F$ n! S
f=subs(f,{x,y},{xx(i),yy(i)});( U7 Y4 r: z; _2 C) D9 s
if all(b>0)) B+ T: S5 }8 P/ `" r! |
fprintf('(%f,%f)是极小值点,对应的极小值为%f\n',xx(i),yy(i),f);) S& v1 Z8 N7 v, ` V& L5 G
elseif all(b<0)9 |6 y0 }. i6 F' U& A& v
fprintf('(%f,%f)是极大值点,对应的极大值为%f\n',xx(i),yy(i),f);
5 B' z6 ?& ^4 g, u elseif any(b>0) & any(b<0)( g I* @5 W' o* U% b/ j
fprintf('(%f,%f)不是极值点\n',xx(i),yy(i));
8 A) [- R* B+ F; t8 C else
/ o+ t; f# U6 r$ c& G' J fprintf('无法判断(%f,%f)是否是极值点\n',xx(i),yy(i));
F6 M3 D% @9 q5 G6 q end
0 M0 y4 O6 Z& Q/ G5 {end
6 t! K% r7 z. e b& @$ O# m) `* e# x/ U# A
* G Q$ V5 E" A3 }- P
xx =
9 C9 j0 L- D3 G
+ r/ u# M4 l* z+ S( n 1
: m( @: {7 U: w* i8 I4 R2 F -3: J( t, |6 ]; H2 a: |& i3 r
1( [; b9 k8 X* ?1 u
-3* f: e r t; x
2 Y6 i# u0 m; {' A9 o. F- X/ | 9 l) F- k9 H9 ]4 e
yy =
j( A% n( h4 f& N6 U' b) U
/ r+ n; c( ?0 {- j) `. f; R 0
+ |* h& C G# l7 T, x. }1 E; g8 E: Y 0" b, l) M) E* Q9 P3 T* A0 f' w* k
21 J) J2 _; I `) f/ I
2
( C; G4 w# `8 y4 @1 T9 k
' u, ^6 ?. J G+ a: m1 P8 c错误使用 fprintf
1 e6 |$ M& A% q1 x) h没有为 'sym' 输入定义函数。3 f0 t0 d5 x- n9 k+ u7 s+ O; X/ L
1 a% ?( b* a3 }2 s4 e* W5 R1 C能告诉我哪里出问题了吗?
( O7 d7 B8 e5 Y4 L' ]+ K, d我用的是2014aMATLAB
. r& M' _) z% Z/ m" Q |
zan
|