TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
7 r3 r' |, R! W
h5 v0 p. U7 _. C3 ]# z, Z3 o(不用安装maple软件就可调用) 6 p L: J* F; M' z
4 ^' ]1 W7 j6 e
方法1: ; @; D6 V, ?; j9 z! C
$ G; G8 F/ n6 hmaple(’maplestatement’)
2 Z# ^8 m( T( O4 J0 m+ c& r1 _/ t& `0 V% v0 G
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
+ |3 v8 O, w u1 Z* O+ R2 I; ?7 b0 I: Z( o: ]
方法2:
# Y# I8 q/ u# ^0 E/ B. Z
% G2 F3 L& Y8 Z, B) h1 zmaple(’function’,arg1, arg2,…) : W3 @' y3 J! F; D7 X: t
! t0 ]) f; t0 i. c& F% ]1 \其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 9 R; W; ^* I# |7 M
. T* ]/ K8 m# a4 K8 e9 e注:如果方法1行不通,可尝试方法2(个人经验)。 8 q# G# Z X- m7 N
5 s$ ?2 Z, J. x' a
基本代数部分
" J8 z: c# t7 o2 d3 U
; y7 P9 N ]6 }( R2 [/ F$ r如何用matlab求阶乘 . V+ o9 |5 A$ g- C8 _
% u, w3 r2 L" i3 E$ R
factorial(n) 求n的阶乘
' O6 l4 i' j7 Q
5 q9 Z( A( F. {9 T Y如何用matlab配方
0 J) v0 }7 l5 q: ~1 `( p/ w/ C) i* \
7 n- M2 M2 S5 s! O/ g" j没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
. f! o2 J3 j; d. Q1 v; d
) C4 d. Q. M$ m& c5 l- a首先加载maple中的student函数库,加载方法为:maple(’with(student)’) 6 s# w6 E: Y# y- b
% j: \: @% ?- K/ i( V0 A
然后运行maple中的配方命令,格式为:
1 b. r! F+ w: C. ^! @0 ` o4 o8 k9 _0 ~. ^7 |2 c6 G. i2 K
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
% C" u- d2 o. p( l, W Q+ w4 W' _, ~5 q; U6 I1 o
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
7 K( L4 }4 r* t# t( @$ b! U; f+ O" S) Q2 Y
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
' A/ s* y- A' W% Q0 O) k
- H6 A$ ?! P% r {! Tmaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, * U. U- N1 c+ G1 b+ M
* G+ x4 R% o7 F: U: j! S如何用matlab进行多项式运算 ) a: J/ y' I% h- z9 s' @/ q7 M# x* e
0 J# v, y2 B+ }+ ]& Y2 T. q s(1) 合并同类项
4 ^' d3 E& K7 i
3 ?) c5 j) {1 y* g- i! j: f U6 Rsyms 表达式中包含的变量 collect(表达式,指定的变量)
# ^ h2 Q' Z; h. i0 w
' c% @1 [% n$ @2 l(2)因式分解 4 y6 w7 O; @0 U; B r, |$ K
4 z: e% i2 ^7 ]3 ~
syms 表达式中包含的变量 factor(表达式) ' c) k6 }3 W9 C9 i d- i
R' Y: J3 h$ V* Y3 l; [(3)展开
, }$ K0 F q6 K% _
& ~2 ?! L1 w2 Osyms 表达式中包含的变量 expand(表达式) 1 f4 _5 {" c& ?8 Z/ X
9 [0 V. v2 C2 [7 S8 S" C) ~& W7 |" ^1 k我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: : w& Z% V5 I/ D; s# `# R' H1 R
; s0 {6 r. K8 @ Z9 u% d
maple(’maple中多项式的运算命令’) G1 n( B$ G C2 _& c& f+ A4 V
* V# B* C Q: L4 B
如何用matlab进行分式运算 3 Q2 n3 V2 B7 n& ^8 [6 y
' K* s& ]1 E) Q1 r发现matlab只有一条处理分式问题的命令,其使用格式如下: * Y& l, t9 t8 I& O5 T' d
, k- T1 M# D9 |' T. @
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 2 N6 o5 o' X; V$ `3 h) a
; j# V* a4 M2 V1 ]/ @. T) u不过我们可以调用maple的命令,调用方法如下: # k3 q. E$ n7 V7 s* e( T3 q
. p0 O# Y9 I5 H+ B D9 P9 kmaple(’denom(f)’) P8 l7 ^# _# J i
提取分式f的分母
5 R' }0 `: w( L% ^! Q! ? ; A/ |( C: h" U: Q# U- }
maple(’numer(f)’)
# w1 ~+ N% M4 Q4 F6 i 提取分式f的分子
( P, ?( s0 m8 r5 O5 {
4 j# \/ N' K7 _% T2 Y; b5 hmaple(’normal(f)’ ) 8 e1 e8 [$ m( E
把分式f的分子与分母约分成最简形式 `. i, S$ L5 L1 }0 s0 h+ m
- Q. `( t7 O7 P# ~& t/ J
maple(’expand(f)’) , T" M- U, v3 g: r5 b
把分式f的分子展开,分母不变且被看成单项。 3 i z4 _# d6 Q% O; m; C6 H, c
1 U/ g; c2 r$ ^9 V9 ]* [
maple(’factor(f)’)
- b5 P8 [4 J2 Q# d- a 把分式f的分母和分子因式分解,并进行约分。# U) l: B/ R5 ^. z+ t
% M' Q% k$ ]9 Y+ j5 n% u1 Y" L% \- h/ f7 X3 n% E; I' p/ M2 ?
如何用Matlab进行因式分解
4 t) ]3 c5 T6 K6 k
( h8 D# }$ T$ c* |* k8 o9 lsyms 表达式中包含的变量 factor(表达式)
! \& c1 b' P5 X% J& [1 p
' o' O2 F7 X# D) E5 J2 S 如何用Matlab展开 0 H+ l5 Y/ t& I) D& R
( J. l b- I4 Wsyms 表达式中包含的变量 expand(表达式)
( Y s4 ^" o C. Y7 s: o
% `! q. X+ A- O0 q/ m/ Z& M+ M. i; N 如何用Matlab进行化简 ( O6 i8 v# Z2 H6 K) n
# y3 I& {$ T; n( e% \: l6 H: `; Z* Vsyms 表达式中包含的变量 simplify(表达式)
, M) s1 r% d. J( ]6 q% r9 q" ^" v5 h
如何用Matlab合并同类项 1 ]& t/ _/ k1 ]8 W3 `' R" A
8 X" ^+ @% o& {; P+ Q- e" O- dsyms 表达式中包含的变量 collect(表达式,指定的变量)
& t& g7 C. t2 Z. h( _: Q4 x
' n+ J1 v( \. d. R如何用Matlab进行数学式的转换 ( d) r9 ?9 Q! h9 x
. g! Z r2 D+ o' j+ ?7 c# | Q8 ~
调用Maple中数学式的转换命令,调用格式如下: 5 u$ T* r" _5 X# W% L
" n; S, v4 v2 H* pmaple(‘Maple的数学式转换命令’)
O; ]. r3 w5 E$ ^3 Z. r
, {# S( h, C6 K, n) h即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 % S4 h* p- v' I8 S7 v4 l) [- _. P
! O( O L1 n1 E$ t/ Wmaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) $ Y. q4 }4 H( z2 v' d( n7 O
$ A- ^" e E; b G# }) I2 S, b" ?4 ?
如何用Matlab进行变量替换 5 i. W7 R$ ]0 B- d$ W) x' i/ y3 G
. j( x R3 ?# v3 Q1 F5 k K" o
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) + c) j, P" |: {9 f9 G! r
6 U* J7 a: z8 `
如何用matlab进行复数运算 # a6 U) G" w% s/ n% D
, j' b; _' ~- U% O9 I0 T+ q8 Na+b*i 或 a +b*j
O! Y, X' z O& O! }2 y4 H9 n8 ` 表示复数a+bi 或 a+bj
& X: R; D: F2 u7 R! e5 j
# m% g, \9 w* w: ^% Z* [real(z)
+ N( u; O* L7 \' P% V U 求复数z的实部
& h7 ~- p% ^9 I4 \2 H3 _ 5 ]$ A& ^, c. U8 ~+ K! G, ~
imag(z) / F; [" c" G7 }1 d4 d! ]
求复数z的虚部 ( i# T( k9 S8 N7 h5 B! B
+ A! E4 e3 G( _7 K- K- P
abs(z)
/ a1 R! {6 b6 X! w 求复数z的模 & d, q# m7 A: t2 j
! C' S. @% u+ \# T# yangle(z)
/ j$ t2 j5 {& F 求复数z的辐角, 5 u& Q g8 J0 z
! h- M$ M! K2 J- hconj(z)
+ F7 \) \+ C B8 L7 o 求复数z的共轭复数
7 M0 U$ h; Y3 M7 M" C6 {4 K3 Q
( j4 t0 z; O& B/ J4 E" | h' Nexp(z) ! f K' L* T* k8 ?- N
复数的指数函数,表示e^z
, P, @% ^) e9 O 7 n# L5 f4 d3 z0 a* F6 [
& Z0 K- \+ U2 p6 J7 X$ i
如何在matlab中表示集合 ) T$ B8 b" W# Z3 {8 r3 z$ f+ V# n
% J+ @* Q. T/ J* A0 P/ b
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) * F! L7 H% g1 o5 X
/ k- O4 q- j" \" ^4 X2 munique(A) 表示集合A的最小等效集合(每个元素只出现一次) 0 ], l. C+ i4 Q7 a8 B8 @# E. f5 ~
" T2 _+ s1 [6 p1 g; h. {# {也可调用maple的命令,格式如下:
5 I- z7 }9 v& @0 f2 E7 S; J$ K, J( W. {0 i# }7 o& [7 T, y
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合 ' \% v* U" q! }" q
' ~2 K3 {4 m3 V下列命令可以生成特殊的集合: - v$ Z3 u' |/ b& ?1 e9 G, l
. l9 s% {. O) b! r2 f8 {
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
6 f8 J9 ~6 J) |" D; p& l' ]* Q4 E6 S6 F8 R
如何用Matlab求集合的交集、并集、差集和补集 ' W% F, T. J! O. ]
. H1 f* ~0 Y( ~, S& n
union(A,B) 3 T2 i- H: u3 ]: N
求集合A和B的并集 + ^( n2 e7 S6 M0 q
w7 c# F% Z! ~- J7 t Q
intersect(A,B) r8 y5 W9 x! h6 }- R% g
求集合A和B的交集
* k' S0 n: ]9 v 1 w1 F5 a: ~5 }3 L; p
setdiff(A,B)
! Y6 X$ |% w8 Q. T: O* [' G, q 求集合A和B的差集A-B
) a5 p/ t- ]# e/ B& b) u; J x & b5 Z# u# z+ r$ V/ r
setdiff(U,A) & d; d$ V- F8 }
求集合A关于全集U的补集
% n, c+ V9 c- F* U% d Y$ S $ s; ]. h7 ^$ p, }5 F
5 \+ o) E+ u0 B
我们也可以调用Maple的相应功能,调用方法如下: # s0 H" V: B' I+ ~* t9 n% l/ z7 x8 A0 t3 Q
) d( V. I3 k5 O0 y
maple('用Maple求集合的交集、并集、差集和补集的命令 ')
- M. Z6 m! _, U9 a. [+ Q* T$ G" u" I( Y" ]8 ]# G1 B" M" S: b
具体地说,共有下列几个调用命令:
+ {4 J- J* j: g/ b6 ~* [) u; }+ G/ x; f
maple( 'A union B' ) 求集合A和B的并集 8 x$ ?1 S/ p1 C8 B: `6 ]) Z& o2 Y* _
9 k9 ]; Q' h4 N1 V. }6 e
maple( 'A intersect B ' ) 求集合A和B的交集
5 _0 z3 ?9 I4 O( U5 @( @
& Z1 \5 ?* s/ ]) _+ S- y" v! u. ~: `maple('A minus B ' ) 求差集A-B $ x! a0 d4 q5 X) S
* [. p. s f* E8 d, emaple( '全集I minus A ' ) 求集合A关于全集I的补集
" ?$ M: r0 v) }# `! Q7 C
$ Y8 ^8 ~% n$ R) _* A如何用matlab排序 9 |8 v4 e: M9 s" g5 P! d6 f
8 m2 g( {% e) s
sort(v) 将向量v的元素从小到大排列(升序排列) |
|