TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
" G: p1 D2 J' R# H1 ^" z( y5 Q A
$ E7 W, }" z8 N. t4 j+ L(不用安装maple软件就可调用) ! J2 u) Q: W9 O+ |: R0 y4 U
! ?( [, D' ^/ F4 ]- M方法1: 5 ^1 Q6 O/ J. X. [
! m' I N. C; U; Mmaple(’maplestatement’) 2 o# _/ ^* j! X6 b( n
# \' y, I( i0 }; t' V
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
% |1 Y& C5 ~ m) J- f" g" o# W% S1 b; t! ?+ O4 `8 {
方法2:
5 T$ U, {" [1 K8 f0 g$ A' V: b. z1 s
maple(’function’,arg1, arg2,…)
, o! |, W1 d% Z: w+ b& I& c, `. _5 _4 {. _3 T
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 , ]2 k* s% g/ I/ F
3 a+ Q/ ?2 J8 r. f/ i注:如果方法1行不通,可尝试方法2(个人经验)。 5 W+ R% [8 O% G' ~: {9 k
* }1 Z3 T; T, C# F7 \基本代数部分 7 r2 m( m. y1 J$ a0 q8 Z
' E: v9 _3 l: G5 A) A! K! y: |如何用matlab求阶乘
j. t# b: ]' w+ h, L4 q( ~1 S, Z" Z' e4 F0 d* ^
factorial(n) 求n的阶乘 ; H1 v! o0 I2 f
/ q) \$ y5 H Q5 m如何用matlab配方
' }; Z9 n9 ?/ _& g. O1 D5 h H, n ? b [5 K+ j% r
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: 5 W% {; x( d4 t0 B8 w; N" X+ I
. t+ ]. B6 r s首先加载maple中的student函数库,加载方法为:maple(’with(student)’)
; P5 G5 j Y+ g+ K
2 k6 I" p/ `, L0 r8 c/ p然后运行maple中的配方命令,格式为: - m9 r5 R" X6 n7 c# F' T) c3 y
2 w, N% D/ |8 N- _0 d
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 ' I& Q H7 I& o0 y
# T0 u- V& }; g l
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
7 h% R, b0 @- E# R5 |* `% o( P/ p+ g1 k
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 2 m7 e6 j, R( s
, [$ g: F7 ~0 R/ N. j% t- ]% v
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
! N3 m5 X4 |! e6 t8 v8 w/ ?2 |3 O" `5 }7 Q
如何用matlab进行多项式运算
. s7 {) p+ O8 k. t8 {, }
) i& }& L% Y' Q+ U1 n(1) 合并同类项 # I1 v1 A* b% `! U! g/ A
; d W% K+ ~! d ]; r
syms 表达式中包含的变量 collect(表达式,指定的变量) $ F- k/ _, p; m& D
4 K! }1 [! t6 b: Y3 A/ A
(2)因式分解 + ~- E- P2 o; M. A% |9 V5 ^2 @
4 `1 ^* S5 H( A( F& T* n0 ^
syms 表达式中包含的变量 factor(表达式) ; {/ C1 t! z! R3 e5 u! ?
N! l' J- |4 ]5 t. `) b. y1 V(3)展开 3 s0 n8 U3 C4 O. k3 U
# ^: _) m. `# { G9 }8 L0 X; isyms 表达式中包含的变量 expand(表达式)
0 U5 b: _' o x& ]/ X% r
. v1 ~0 ?* R1 A: [我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
u6 L3 U/ ]8 i: S: }) f
% S" c3 {, Q6 b" T% P) X" Z8 Q+ s maple(’maple中多项式的运算命令’) 3 B7 l6 g9 `& T, t+ x
! y3 k k- y/ A z9 ]9 z如何用matlab进行分式运算 1 M7 }% N b+ M' r1 a
) z: f" v5 G$ E2 u) \发现matlab只有一条处理分式问题的命令,其使用格式如下: & S) T) `5 d% h, k7 ^- }
/ O& S6 b0 l& [% D5 d. A; u[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 % d- o) _7 Q3 I( Z# f7 K; j: e
2 M2 d# b1 ~7 n6 Q3 D$ e' E不过我们可以调用maple的命令,调用方法如下: ; f2 t+ C9 O' t7 k! }
. q' Y C$ ?& Z/ j+ O3 b
maple(’denom(f)’)
; P( N+ Y S5 H9 c4 F) n$ v 提取分式f的分母 : u/ ~3 R# W' I0 y+ n6 G
3 v2 r9 T$ }3 X; |5 ^maple(’numer(f)’)
: J. u9 n$ N( S5 p9 a: T 提取分式f的分子 3 i% H* A+ j7 K) L8 m8 B4 [
/ {# J9 N {# n" Q2 Q E* Tmaple(’normal(f)’ ) 3 u% F$ q) { p& O
把分式f的分子与分母约分成最简形式 , X- T8 U9 [4 k1 C' Y' u, C
7 V2 ~( Z2 I! \
maple(’expand(f)’)
: W0 f/ {$ i$ L- B/ P 把分式f的分子展开,分母不变且被看成单项。 / U0 F b. G. L3 X( ]8 L! G
. Z+ I: N6 w. i0 Dmaple(’factor(f)’) ( U) Q- G% }; a4 c# ]0 x
把分式f的分母和分子因式分解,并进行约分。 I2 b1 y3 T; \! c9 P' b
2 r& U* P8 j6 |- t
( \9 M; Z) i- B7 Z+ i如何用Matlab进行因式分解 * D, I5 I; W7 P
2 U' v% ]8 a2 _9 {. K% I' m; Ksyms 表达式中包含的变量 factor(表达式) . {7 R) T9 G! R
0 h' t6 ?$ ^- q5 ]) u* u- L 如何用Matlab展开
$ t4 \' y V7 K8 z# L1 m, G; k# w' V- H3 Y" Y& \
syms 表达式中包含的变量 expand(表达式) T. N: W. A3 a) o' s" j1 ], f; Q
# e% ]. T. H" w( t) L% x( Y+ Y* y 如何用Matlab进行化简
6 s- d# G0 C% z$ C! @+ `+ `
8 Y" ^9 J& g; w [5 \& v0 \syms 表达式中包含的变量 simplify(表达式)
# E/ I$ w c0 b/ V2 f @, a) ^2 h1 d( Q
如何用Matlab合并同类项
8 r i* q9 L" H& W( M. ~
8 \* D- [2 H1 T3 |! X J, Usyms 表达式中包含的变量 collect(表达式,指定的变量) / A3 y; [9 f4 X5 Z; h. P
* \# S* L* t! ]5 p! b2 a如何用Matlab进行数学式的转换 , |! A6 h* F1 D
" J6 t) ?- c i9 w调用Maple中数学式的转换命令,调用格式如下:
0 t* o% T: @. ~4 K" Y# F& N
3 N; \- Y5 c/ H( {1 Cmaple(‘Maple的数学式转换命令’)
* b" r: q: ~" E
6 B# o2 E8 {' s: v4 V d即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 7 [" E; F; @% L( U! A0 J; b! a! D7 g
. |1 l7 E# x/ t: [) ]* N3 s; |
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) & t5 f. {6 E) V/ w' n9 C! s" C5 s
) T* e6 s' e( V
如何用Matlab进行变量替换
# E; d* i9 X8 L5 E
: D8 q* I9 e9 _! z! Z2 O* Esyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
9 N8 ?) `, b6 |- W3 B- _) p' A
2 @6 p7 v& G3 r4 C% g5 x' R 如何用matlab进行复数运算 ) W( a0 Q% S6 \ Y3 i
; i! R# s6 Y$ V
a+b*i 或 a +b*j
6 ?, O( M1 \( o; q 表示复数a+bi 或 a+bj
3 B( s2 M: S _% p& o3 | % j+ n" B! S, I! e# o
real(z) * d8 E8 x: k4 s2 h4 @
求复数z的实部 1 `9 M9 w" N; D# _" r4 F! ?
. s: ^+ r% L) F/ P0 C/ T
imag(z) 5 Y5 c4 X' U" V8 ?$ l7 w, p
求复数z的虚部 : c/ f8 u6 M7 D+ `
7 i1 s4 M& m+ W' m
abs(z)
8 `0 f* U# k8 q$ Q; N3 o9 I 求复数z的模
7 t. ]4 r, ^) w 5 l$ X/ F. e9 _/ s/ X1 h; Q
angle(z) 6 W- i$ C3 s6 W
求复数z的辐角, $ K/ Q- {( f+ Z" S: J4 A% t
! G2 ]3 |9 L) N- `! z
conj(z)
7 k% R5 ^( H/ Q5 R 求复数z的共轭复数
, d* \4 o `5 V5 I1 u& Y
: w3 N# N5 p' b- l0 r3 X' z _ _exp(z)
, ?8 c, Q/ j9 J, v/ Q# \4 m& h 复数的指数函数,表示e^z
# j- s6 T' N, u% O # R& H/ V0 p, n E6 g
6 {3 t- N. ?7 v6 v$ l! P% o% D
如何在matlab中表示集合 ) d$ }8 A% y9 V2 A/ M% `3 K
* d" ~/ v$ y, f% J2 O5 q[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) ) ]- M( F% n ~0 O% u- d
- A$ T9 D5 l* z" ]3 Runique(A) 表示集合A的最小等效集合(每个元素只出现一次)
' y1 ?2 w" v1 o& b
4 [2 l3 u+ m: I M0 }' L也可调用maple的命令,格式如下:
( u u' |2 C2 X' j! h( G, O2 `
) g8 g1 h7 l( [+ x6 fmaple('{a, b, c,…}') 表示由a, b, c,…组成的集合 ! h) X8 W0 g3 @* S/ G
6 h# I1 ?$ c! Q$ G2 `5 s3 ~9 y下列命令可以生成特殊的集合:
6 [5 l! I A% U% G+ N
4 b6 V( n" p* v7 N5 ~2 t1 w: {6 l$ umaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
E" D/ c1 e/ X h5 K2 z' m' Z
5 J! y% B2 M! Q. l如何用Matlab求集合的交集、并集、差集和补集 . S9 S$ j1 b: q% H" P& X5 X; _
5 S" {6 d4 _" [% kunion(A,B)
w* w% S, @7 C/ P: g 求集合A和B的并集 ( \) X/ n* P8 f* [& `; H
0 {) B ]+ W6 }- y" J2 m& Q6 Ointersect(A,B) 0 ?+ L: D) l9 V) r9 h; D
求集合A和B的交集
# @8 {& ]7 K. v2 D: Q 2 t% j7 D6 K1 D" w
setdiff(A,B) 3 P$ [% n" L9 J1 b
求集合A和B的差集A-B
: l8 z* k r$ W+ U- B. A
* Q$ d0 H5 S3 H! R P2 Fsetdiff(U,A)
6 O( H9 O3 j( g, E! L O0 K 求集合A关于全集U的补集7 B, [. u2 V' ?' [
2 d. D, m' _ h: F' ^& L+ Y
3 J( w* Y8 v$ v2 A; T9 o' W
我们也可以调用Maple的相应功能,调用方法如下: 8 d5 q! t9 b5 B1 d
- ?, j7 L7 n/ _1 U9 Wmaple('用Maple求集合的交集、并集、差集和补集的命令 ')
) J" L0 g3 s: T6 Y; o
c/ j. v1 u& x% `具体地说,共有下列几个调用命令:
/ z, @& J% Z8 ^+ t
$ C' r* }9 Z7 @# K1 M0 F! O( fmaple( 'A union B' ) 求集合A和B的并集 ) ~ ]2 q$ n: E3 m$ G6 M( _5 @6 _' u
& C7 j9 ^/ f3 y; J
maple( 'A intersect B ' ) 求集合A和B的交集 8 h# l, ?; }5 i' D" a
* _4 _" x C: Amaple('A minus B ' ) 求差集A-B 1 U. k4 n3 ^. h- X7 d$ n; O, k
. S* I r' C W$ P
maple( '全集I minus A ' ) 求集合A关于全集I的补集
' z/ I! K3 [' Z9 ]1 {! c# Y, {% K: l8 P# B5 r! l% e
如何用matlab排序
0 ^& e; T% }8 ?+ j" a3 f3 N) K5 J7 f S f" Y5 q) D/ X
sort(v) 将向量v的元素从小到大排列(升序排列) |
|