TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
# `7 Q5 A# B8 @& ~
9 S0 |5 U; j% k$ z2 t/ \% N0 t8 l(不用安装maple软件就可调用) + o8 D# [' w& ?( s4 S
* ^" Z& Q. n, @* D# b5 k: u方法1:
+ T/ v6 J5 o6 d- H% j1 X6 \3 E/ E3 p X7 x& m; N
maple(’maplestatement’)
( D4 C$ S/ M0 X+ ?1 R. u; b+ g
! R" h% r; z7 U6 G% b0 J其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
" _( b& B$ t/ i2 n; O' S* a- e ~! O* m! r2 Y2 z) H- `
方法2:
% z1 g2 Q U. r6 x
% e' l) N4 k+ S7 I- L* hmaple(’function’,arg1, arg2,…) ( V* o( \" L5 W2 N5 L9 ^0 ]3 h
& g+ \5 T# ?9 f0 g% _& ?+ {" d6 ]" V其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
9 s* M: r4 W0 J* _
9 C1 }/ O; p% e I注:如果方法1行不通,可尝试方法2(个人经验)。 1 u9 ^* X0 t( W
2 S( P' u4 f. y* {$ S4 P
基本代数部分
% \+ m$ g' w6 N+ a* B- @$ K# [4 `3 @/ K1 I- G
如何用matlab求阶乘 , j/ M) _( c! U7 p6 [* a
+ E! W6 `2 m. w( H, W
factorial(n) 求n的阶乘 2 i# M: S" O% A* Z/ e* M
8 z; S9 w( v" B8 w/ Y
如何用matlab配方 : W: ~/ C# L f4 R
7 [6 V `6 z5 O ]( h
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
# x6 Y* g' Q% i& w& D6 K" c8 m W* n8 c }
首先加载maple中的student函数库,加载方法为:maple(’with(student)’)
4 o/ q9 x4 l' O5 S9 N
4 O, {6 I( K& B2 P( B) _7 _; q然后运行maple中的配方命令,格式为: # s0 k7 C4 d Z( U9 m; W
7 m% c% O K$ I3 c3 z
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
3 ^; M8 J" [) a6 C4 _9 M4 X" S. X5 ^$ e
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 5 p5 f+ @, b C3 k! i3 R
' ?6 l3 L& d6 X# o; O/ a
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 $ F4 h8 `( C* I, C2 j3 {0 ^$ f
7 S) r% F: b) b$ U. h4 J
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, 1 N1 ?: d* G# U
( s5 k! |( {, \- F如何用matlab进行多项式运算
4 n" }" C" j0 R, x( |; o
4 ]$ {8 P8 B9 h; B( h$ P) o; I$ A(1) 合并同类项
$ Y( d5 k1 A$ }( w4 z2 m, {! h* Z9 a- p7 }# H* N) L* v4 g
syms 表达式中包含的变量 collect(表达式,指定的变量)
" O6 r3 |2 K* X; K, g8 A+ [' L# I$ Q& B* j/ R
(2)因式分解
. U, K) V+ ^8 U. w
) p! P7 Z/ [; }2 {- Zsyms 表达式中包含的变量 factor(表达式)
+ W2 U5 S, l) H5 Q1 T+ I' G8 n! p# X4 r+ u1 p
(3)展开
& G5 P- Z9 t. t7 M& O& k3 I$ _0 Y
) p8 R; K1 f K o4 `3 Wsyms 表达式中包含的变量 expand(表达式) & l) K9 ]; q/ B4 }4 ^
. f: j; F# x6 c5 k( `+ k
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
7 j, ]6 v! l7 E; [" k1 S1 d+ P* P2 c) |$ G
maple(’maple中多项式的运算命令’) 9 C3 a% s1 f6 @
k6 n. d& z4 f' ~- S9 C- q& q
如何用matlab进行分式运算 4 f' Y+ Q; p/ T1 P
; |/ D8 j. Q' \) q- o- S
发现matlab只有一条处理分式问题的命令,其使用格式如下: % q# I/ [* n8 ?* N3 E4 d
# V+ [' r- r5 _/ t6 W; [# o# d
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
0 T) I0 s4 [3 a, I2 ~; U4 I6 t p- O) c
不过我们可以调用maple的命令,调用方法如下:
- g& H/ r; {6 ^/ w; S) Y' z, p7 _4 Z* O, F/ V% O
maple(’denom(f)’)
I4 h5 h' i" B J 提取分式f的分母 : V: ^! d- Q4 [0 u& H. @
1 ?) L5 a* L( p4 b% Cmaple(’numer(f)’) 1 }9 [: ^; [" F _# N/ E# _' B; ^
提取分式f的分子 9 A: j/ o1 C7 C! j
( H, I+ g' {5 @8 j
maple(’normal(f)’ ) Z9 Q/ J4 m0 d! i& _
把分式f的分子与分母约分成最简形式
- C8 g4 t- o7 ]' q, g$ G' E
* o0 T3 V* _" b7 d" P* Pmaple(’expand(f)’) ; W; X, H4 X: b8 I& k
把分式f的分子展开,分母不变且被看成单项。 ) {3 L2 K/ }: i: A1 e8 r
! l/ g. B! n: S7 [maple(’factor(f)’)
9 C8 p w; b4 ~9 v4 ^ 把分式f的分母和分子因式分解,并进行约分。
! z4 T0 n$ }" q% ]
( |! M+ D3 ]1 a- G/ p, H: B& A4 g$ _1 v0 ]$ D
如何用Matlab进行因式分解
$ _; B, a7 \3 G$ W3 W; N" s n, Z% P T1 G% @
syms 表达式中包含的变量 factor(表达式)
* T* t8 @0 n& C2 u& U
4 B U. d0 ^8 [( A, S- j 如何用Matlab展开
+ y" h0 Y4 @9 {1 `9 E8 p; P
- \6 B0 Y3 Q, s* tsyms 表达式中包含的变量 expand(表达式)
5 i# P( A7 g8 V. I" P% Y; J
/ G4 y# X& x4 o* p- S 如何用Matlab进行化简 ! n, l; u2 v$ _- X8 p! W4 G. m
% I% U& E1 X* l7 |) v, Ysyms 表达式中包含的变量 simplify(表达式)
7 D3 l( p) g, y0 f# t3 Q2 n8 Z4 Y1 l+ ]2 }
如何用Matlab合并同类项
U5 q" [5 u% x% \2 j: ]3 @
* n! _2 s' o5 g' `syms 表达式中包含的变量 collect(表达式,指定的变量)
( b' G8 B9 |- w$ v* x0 ~1 O3 b" V w/ Z& }: G
如何用Matlab进行数学式的转换 ( @5 c3 j8 r" N+ S; A
]9 ~/ {! K. W; d& Q% T调用Maple中数学式的转换命令,调用格式如下: 1 l/ y- K. @! Z4 F0 A7 R
0 w* {# z' Z2 K9 Z& r+ @maple(‘Maple的数学式转换命令’) ' Z0 F0 u$ I0 @+ l |" ~( I+ s F2 @
, T# `6 p! d) D0 _, z. E即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
% i) Z; E# w- N; R: m. m1 W7 }9 l4 `& i H8 V% ?
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) Z1 r/ K4 r, H" C" L+ [1 |
$ Z$ T9 O+ N9 R
如何用Matlab进行变量替换
4 D% u! J" O+ D3 N' F C6 A8 w/ T' |9 r, J% P2 o, s' S( g1 M
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
& }& v$ V8 R9 [3 X2 I& v6 b/ y! W! S6 D( Y) K6 T( W
如何用matlab进行复数运算
1 S9 _4 r$ C/ v3 } x2 O0 r
6 b$ P" v- i( |7 G( l1 N8 V1 A4 ga+b*i 或 a +b*j
m, d# ]0 X* U3 ^& `! h! t8 P) J 表示复数a+bi 或 a+bj
9 U* r- k d, T) U9 B; u3 i
6 o+ [8 Q4 X8 v8 c2 z5 Creal(z)
% o* o$ t0 g$ E: k- @8 O2 d 求复数z的实部
3 o* L8 t8 n) F* O: U$ v6 w 0 O U1 b* R1 r' v) e0 _9 S
imag(z)
! X5 S) ~9 ]% K# w 求复数z的虚部
( k* r: e$ C% E$ }1 p q* Y
/ l) i: c$ x" m' pabs(z) * T% g* q6 ] A0 c
求复数z的模
' e) U1 Y7 @( @% w, t E5 G 8 ~$ a6 O/ E1 H2 \
angle(z)
7 q/ \* x8 t3 V- S, S; C0 M: Q7 r9 M 求复数z的辐角,
; B I; x) n& s, l3 N; E ( Q% @, K+ R( `, z4 J" n' V
conj(z)
/ T( f" Z/ y( b" Z- r& }' ^ 求复数z的共轭复数 3 n; l1 G; w+ A+ \
( B" m- r3 t' J2 O3 e7 k0 o4 D0 s0 q
exp(z)
! Z' C5 Q4 Y' q- X7 I* Y& j 复数的指数函数,表示e^z
4 e% p8 u, v+ X% q - k9 V& ]) `5 W8 x
" y5 ~8 ^ q8 j" d& B( _" @如何在matlab中表示集合
. f' E6 |2 P4 g$ R) [/ y6 Q0 O
3 a1 Z+ b, v. K% {+ v3 {6 U3 \8 b4 b[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
w, M F/ O9 @% |+ o/ X; U
% C8 w) r' C0 N6 n! o6 O4 ounique(A) 表示集合A的最小等效集合(每个元素只出现一次)
" A5 w% v( O( p, f. {, y
% h5 h0 s" s7 k4 x& r7 r6 j" d/ L( e也可调用maple的命令,格式如下:
4 K1 g; i$ d3 G9 m: g' [( l0 U+ ^* g# a$ {( i0 J* C! e
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
. L" R1 _! w* x0 D3 N3 s/ a% W
, E+ S1 s) i1 o( e下列命令可以生成特殊的集合: / D1 ^5 X! U2 A# E8 M2 R" s0 {6 u
! Z8 @9 y: ~* t
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
# |* r7 k$ X/ Y, b+ ~6 y( R- p1 ]
如何用Matlab求集合的交集、并集、差集和补集 4 g9 l6 c4 f0 m/ L6 ?2 r& S
2 A( b/ P4 p8 Q' `1 M d7 Uunion(A,B) }2 j% j ^( `0 M9 E C1 f
求集合A和B的并集
) K4 S2 a3 A- c7 B( i8 x) v4 F" [3 r
$ T/ I7 j) i9 F+ J; C4 pintersect(A,B)
+ c# Z% X# r% w0 d$ S* i# |( v 求集合A和B的交集
0 V+ d9 C$ {" ?4 r; z/ s
- n/ {) M2 ~) Rsetdiff(A,B) 4 P; c; a" o- d( H+ B
求集合A和B的差集A-B
: W( l" w- p- Q 6 D2 y& M1 y% j3 j9 n+ |
setdiff(U,A) 3 a8 }2 E5 H+ g y' p' K/ i
求集合A关于全集U的补集% k+ l: L3 z. f3 T7 P
* W' B N5 ~/ {& {- W6 d ~: N6 L0 ?1 b; O
我们也可以调用Maple的相应功能,调用方法如下:
1 Q+ T7 g1 }# I3 ?+ W8 n! ^( w0 ~) O8 j+ d" f" \9 W
maple('用Maple求集合的交集、并集、差集和补集的命令 ')
' S: d. k6 W: x8 _1 k C% O9 j: X) Y' _7 K5 R, D/ n
具体地说,共有下列几个调用命令: : P5 k o, u( R4 [- C( M0 l9 a# @
$ {0 S9 l0 d3 A+ Gmaple( 'A union B' ) 求集合A和B的并集
- o* j O3 `! v
- o+ Z: V+ T1 G1 D$ Jmaple( 'A intersect B ' ) 求集合A和B的交集
" i/ O ]6 e% P7 Z1 [: Q% _( ?& K3 b+ k" Y
maple('A minus B ' ) 求差集A-B
1 A7 i& b, y# ~- l E/ r2 u8 A o7 B2 Z I) c2 `
maple( '全集I minus A ' ) 求集合A关于全集I的补集 8 m3 u/ k5 f2 V+ ]: P
% @; d0 @) n0 [6 x* J5 |- j
如何用matlab排序 . s; Y i9 l' s" n/ {6 Y
; [* _0 f. x3 ]. r+ B
sort(v) 将向量v的元素从小到大排列(升序排列) |
|