数学建模社区-数学中国
标题:
fprintf函数问题
[打印本页]
作者:
欧阳嫦娥
时间:
2015-7-23 09:56
标题:
fprintf函数问题
syms x y
3 w8 t5 `( H' i- e2 t
f=x^3-y^3+3*x^2+3*y^2-9*x;
5 Z$ y6 `) E( H3 Q% X
df=jacobian(f); %求一阶偏导数
! I/ b% L" I. @$ a8 T
d2f=jacobian(df); %求Hessian阵
7 {% z0 \/ t; u. r
[xx,yy]=solve(df) %求驻点
0 y: ^& t# @# A5 c+ j
xx=double(xx);yy=double(yy); %转化成双精度浮点型数据,下面判断特征值的正负,必须是数值型数据
. S% Z3 |9 s6 k& j0 T5 j3 V
for i=1:length(xx)
, l( i& B3 d5 E; x% c1 d
a=subs(d2f,{x,y},{xx(i),yy(i)});
: [, H# x9 S( E1 H- z+ n" g; _& |! r
b=eig(a); %求矩阵的特征值
. W; j0 O8 @( U$ r! C
f=subs(f,{x,y},{xx(i),yy(i)});
" f. \. `* @3 ~5 [1 t+ x$ n( L' d
if all(b>0)
$ T( B: E8 \9 U1 t7 Q X5 D
fprintf('(%f,%f)是极小值点,对应的极小值为%f\n',xx(i),yy(i),f);
$ o4 s+ F4 W, v# _, ^
elseif all(b<0)
3 g* C2 f- q& L3 T4 F. U/ i
fprintf('(%f,%f)是极大值点,对应的极大值为%f\n',xx(i),yy(i),f);
0 N$ {+ J( N5 U0 |% B. j+ [& e* m
elseif any(b>0) & any(b<0)
9 n! Y5 o' Q3 E4 C+ e' F9 S
fprintf('(%f,%f)不是极值点\n',xx(i),yy(i));
4 w* P# O9 h: v: G# ]- v) y/ M, m: L
else
% R, L- Y# B: b. {. R
fprintf('无法判断(%f,%f)是否是极值点\n',xx(i),yy(i));
" M0 A. ~" Q/ h
end
7 q0 K) G* S! ^- j/ B
end
5 ?3 p: `. Y$ ^8 p9 h
9 v% r' H+ m. n& B
0 m( e& A# s; }( m
xx =
* F, V/ T. K) L& G8 S, c# N) a+ u
1 W/ s- p: g- c8 Y0 m9 A
1
8 j, ^0 x* ~; U; z: o* R+ F% Y
-3
" \8 D4 o) g8 K+ H- u! z
1
2 b3 g- i. \* X" _0 z" v& Y3 \
-3
' r4 p: p, } D }1 o! g1 O' e
2 J4 c6 s- ?" O8 w4 g4 Y' l6 c- `5 G
6 c! K1 p. z$ o# {" H ~. [( D
yy =
( b& U9 u' h* F* k
$ K4 I) ]# s# D8 o0 A0 O* X* Y
0
6 V4 P- u) G2 W! h( s. u- x
0
3 c [2 K4 S9 I/ ?* o: `
2
+ G' i8 ]! u) a9 N( E
2
2 }2 p9 z* ^5 S8 H @2 Z" v" b" V
3 [+ q6 \2 ?0 w# i& c3 j* j' X& S
错误使用 fprintf
. }0 W( r# V3 ?8 Z) ]) m
没有为 'sym' 输入定义函数。
5 W% g$ Q- G- |, [6 v2 W
7 F, h* h) C0 N, h
能告诉我哪里出问题了吗?
! G' N6 E3 g$ i. W# @4 f$ T9 C
我用的是2014aMATLAB
- d/ {7 |& U5 b% ~1 Z" ^! Z) o
作者:
士心之约
时间:
2015-8-23 09:20
syms x y
' ]) H+ r; m- z( t' V, F
f=x^3-y^3+3*x^2+3*y^2-9*x;
' {0 P' F' h5 g& s/ _
df=jacobian(f); %求一阶偏导数2 K5 Z- x1 Q! U( I8 K K9 Z- z9 `
" O3 I9 \* {/ o' @. n& ~9 U' P
d2f=jacobian(df); %求Hessian阵
0 {( G- k8 f1 v( m/ A
[xx,yy]=solve(df) %求驻点
& A. Q1 d. |" |, b" E5 }
xx=double(xx);yy=double(yy); %转化成双精度浮点型数据,下面判断特征值的正负,必须是数值型数据 d+ C1 y" F/ b+ b
' G' n8 W) N% E+ Z
for i=1:length(xx)
3 Z9 e, Z( i$ ^# ?
a=subs(d2f,{x,y},{xx(i),yy(i)});
; m' B) U; F, G/ X
b=eig(a); %求矩阵的特征值0
! v! g! L2 P) u" {3 P1 B9 H+ [
f=subs(f,{x,y},{xx(i),yy(i)});
- H8 p/ y E% J/ C: d
if all(b>0)
* [/ M/ k9 T1 ^3 ~* H K8 \. g
fprintf('(%f,%f)是极小值点,对应的极小值为%f\n',xx(i),yy(i),double(f));
3 y& y2 b7 N5 t- m [3 E' O& y
elseif all(b<0)
5 z5 o8 I. G: F( V% s
fprintf('(%f,%f)是极大值点,对应的极大值为%f\n',xx(i),yy(i),double(f));
$ ^3 U) G9 G! l% y
elseif any(b>0) & any(b<0)
! P! P+ k- L9 C! d {. l9 h! {
fprintf('(%f,%f)不是极值点\n',xx(i),yy(i));
) R; C0 j- O/ g
else
# V# S' z1 ~# _. q: Z. M
fprintf('无法判断(%f,%f)是否是极值点\n',xx(i),yy(i));
' M$ `+ x9 r, q0 q. T) B
end
; ^% x6 r6 H! Q% c3 {5 |
end
复制代码
7 O" n& V/ a8 m
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5