TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
* ^8 D9 y8 E4 l2 i4 ]+ I4 Q; @
) P! u% \0 D3 c5 V9 B(不用安装maple软件就可调用) * q3 J% t) l2 {. ~$ @4 G4 k- l
J- Y5 s, @ o
方法1:
; A, m# j# g5 F1 X5 a
) ^6 x$ {! Q* f$ [3 \! V ]maple(’maplestatement’)
* s, l/ M4 W1 M6 m" r; t1 M R: f5 H0 h. m! K4 R$ R7 f6 h3 U$ [
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 " e5 f9 P: N7 `$ P: o
9 R: \" Z ]/ } c
方法2: 0 E; `6 n# n `% d
# b% W0 x& b& `' U h& [
maple(’function’,arg1, arg2,…)
* ~. V1 V1 P5 q7 I. _' T0 Q9 d
% X5 Q1 M6 W6 P, X% Q4 I1 {7 P$ R# x其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
5 h$ @# \' u# E! A. F+ \# }! a2 Y8 E' O; i8 t5 j/ H) H3 F# A
注:如果方法1行不通,可尝试方法2(个人经验)。 . J8 j1 i/ S# @6 h6 l9 V" I6 {
5 ?0 I7 @: g5 P6 K5 ~$ ~. ^* I基本代数部分 ' B2 Z0 v. i4 @9 ]3 Z* i8 L- b& O
( H( H7 W2 q c. I; K s如何用matlab求阶乘
! ?" J4 I* k- B3 M) u/ r% a
3 O8 {3 O* k' U, Q1 h) Xfactorial(n) 求n的阶乘 5 \: Q# G* }8 C1 ^- q4 b* s
6 x1 X6 p/ n# \8 d1 P, e& L如何用matlab配方 1 o0 }1 l1 A" X/ d
) t3 V. v' @$ g8 o
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
8 ?0 H1 }9 Y2 e/ G" a9 d! s9 c- G( @$ m* K, d
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) - ^( m6 e( D4 G: A5 R6 P ?
2 O3 F7 L" `' D& \3 d
然后运行maple中的配方命令,格式为:
3 g% s( t0 [: m% d, J1 E
$ T( r2 k O, y# d/ w1 Mmaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 ( j6 t7 R& n" Y
0 k1 v, o8 |5 s- h
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 & D1 e4 r; z* X: W9 X$ G
+ f! Y( m* s! n$ y3 E
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 ; e) |# p/ C; X6 V; H
$ ~6 U/ w4 I n$ E- ~: j
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, ) e2 @# h1 C* f9 `+ I
2 D7 S7 i% ^* t' x) @/ |& Y: c4 B如何用matlab进行多项式运算 " b# [8 ~/ c: Q
' d. E# {6 h8 G0 H4 v5 i
(1) 合并同类项 - M4 o# J8 [5 l% j
5 H! B8 J& E I' b' ^% Xsyms 表达式中包含的变量 collect(表达式,指定的变量)
* J* ^) }7 L! A% U* ~0 H
4 R( }4 ? m0 P7 [" {8 }# i2 [(2)因式分解 - @% R. L7 H7 H
9 F" r5 y2 A9 G7 O
syms 表达式中包含的变量 factor(表达式)
: ]$ t$ h9 w4 U8 p
& u' F" z y0 r(3)展开 5 M4 a- `# O$ j$ P8 K! I
5 K, v6 e! ?! K2 L8 |, csyms 表达式中包含的变量 expand(表达式) 3 r. X# X6 _, f2 i$ U$ {
8 V$ M! H5 |2 Y; l0 h我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
$ }* ?3 P6 f' \" `2 q' F q' c5 r0 }6 l
maple(’maple中多项式的运算命令’)
/ d6 Z6 h8 ^1 X
; O. i. {2 P% D. w7 A如何用matlab进行分式运算
% p0 J/ {. T! \. T9 E9 x' R+ N
7 c- R# T- e! ]2 A2 ~' T发现matlab只有一条处理分式问题的命令,其使用格式如下:
5 B4 _& a) R6 \7 J
) V Y3 @# @4 v' n+ \1 m[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 & {6 H8 Y4 |2 ^+ D& f" M2 c
7 d0 a& ~6 _% k& ?8 ?) V不过我们可以调用maple的命令,调用方法如下:
+ G6 p l( s7 C) v9 `' q- e- F
5 O9 M( G6 e2 I1 o$ {maple(’denom(f)’) - i, r2 l. s0 C
提取分式f的分母 * G7 J; ^" g! c2 g$ X7 f
8 ~' `% k) Y9 x
maple(’numer(f)’)
5 I/ |+ [% U; @* ` 提取分式f的分子 ( ]: d$ E; j! H6 @; U, b
' b* v5 o5 _; S; h7 ~9 Mmaple(’normal(f)’ )
4 o7 ?7 t5 w( A 把分式f的分子与分母约分成最简形式 & g$ ~9 h- O3 _( P
; [. `2 _8 G8 m
maple(’expand(f)’) . ]* [3 `. Z/ a4 \
把分式f的分子展开,分母不变且被看成单项。
4 x! r4 r- V5 a5 F0 g: ~% i/ T : h- z! w9 f* J
maple(’factor(f)’)
4 p1 B5 b8 K, ?! t3 k; }- _ 把分式f的分母和分子因式分解,并进行约分。' W3 m) Z. C/ t R9 o
4 t+ u! s0 F9 x! p& O4 o: {5 b. B, ^
如何用Matlab进行因式分解 # f0 E" ]* F; z, h0 u9 \4 S
" C$ J# h, p5 u3 D- \. tsyms 表达式中包含的变量 factor(表达式)
4 \3 v, q; P4 e0 U0 Q8 B4 T3 i
6 p" D- L& b* S6 e- D3 i 如何用Matlab展开 % {$ j9 W0 n9 W$ [6 F
1 Y1 w: @+ A/ G6 y
syms 表达式中包含的变量 expand(表达式) # M' C7 e( ~9 ]0 v# V
% n, c* j8 j& b k4 X 如何用Matlab进行化简
2 o4 C, e) L% _( O1 _* A( v
! O% y7 o9 l4 z- Rsyms 表达式中包含的变量 simplify(表达式) 4 H0 J- Q! [6 Y
# x8 d" a8 }" t0 }* R
如何用Matlab合并同类项
( ?. r6 y) `: U3 j1 W
' ?- {' }' P: b- w% I( jsyms 表达式中包含的变量 collect(表达式,指定的变量)
. L$ W3 x- H9 i5 J* V
) g& B& d% \6 m' t# O2 W4 x4 @如何用Matlab进行数学式的转换 6 r4 B l. c- r2 T" o. Z3 g$ r
7 x( |" p3 l4 O) O8 L
调用Maple中数学式的转换命令,调用格式如下: 5 p! F3 i0 Q7 }0 P i- @
9 Y L" c( I6 M C! t" lmaple(‘Maple的数学式转换命令’)
0 L! ?& p1 f- |1 m, Q$ v$ A8 c. r: x' ^5 |" e
即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
' c, l' D4 {6 ^2 n6 E( ~) ~! \. s, \2 U0 i
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用)
9 p; E7 e$ U0 ^1 l
1 W& i" ?6 _! Y如何用Matlab进行变量替换
3 e( u$ o0 p$ I: n4 u* n8 {& o) [! I/ n+ R5 g3 o
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) ! n! ^/ j+ T& I8 o. q
. K& I& h; a* e: L* x, C/ { B
如何用matlab进行复数运算 6 d! x _8 u) R: V" @
. \% x T0 m2 ^/ V
a+b*i 或 a +b*j
4 v! ^& _& l1 k3 r& b Z 表示复数a+bi 或 a+bj
3 p O l8 e$ g# K4 a1 ?6 u p+ v: F( ]
/ O- D5 H, D8 A: k) |real(z) 6 M0 f3 B$ v8 @/ J' W. N
求复数z的实部
! R! U0 K! l% ^
. K& J) E. b3 i+ |; }imag(z)
" r# L. x6 E. g' O) q! a C7 W 求复数z的虚部
$ C( S S! W. v$ }* M: b - o" x5 q, X% U* O- T" d6 o
abs(z) - ?* w+ |: }; F. b+ b3 [. `4 y. ~
求复数z的模 $ p* W: V3 t7 g. r
f( L. d: v3 `; k) g$ qangle(z)
. [. J0 u Z1 ]4 n8 p 求复数z的辐角,
) z O1 A' c! Y3 P% h+ J) w7 V $ a5 r+ R: \ f3 ^
conj(z)
6 H* L6 w) V9 D, {# M, W 求复数z的共轭复数 % D+ V! C! i' S8 b1 H
1 z* J' j) ~/ m' G+ Mexp(z)
* V" [: g! g2 p5 |6 O 复数的指数函数,表示e^z6 l1 J% h7 H* M+ q+ A
: A& i2 J% q0 n, M' u& s3 |9 @ F
$ |# x* O/ j/ u- j$ [1 Q如何在matlab中表示集合
0 D, }' v. d5 _( m. p* i/ N
! T2 t8 j" I. F# k' a[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) 5 x' Y; Q" L5 [0 B
# J* L% s# C7 {4 ~2 F% _ Q3 ~: E% t
unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 3 k' o% Q; ]" ~: q- u0 N3 q
, L2 a. x7 D# U7 {4 K也可调用maple的命令,格式如下:
& D9 S& G; M/ U6 u( B' E( ?$ l z6 u* K0 S; x* C
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
5 M4 `) n1 B ^( ~) h9 f( m
y) E; E4 O1 e1 B- j$ s下列命令可以生成特殊的集合: & ~" Q6 k9 x6 x% ~" |
5 ?% I& i/ {7 o3 U+ @3 t+ s
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
+ |; {( M( z& m l* \. [
! B7 a3 J5 Q5 K2 r! _( t7 t如何用Matlab求集合的交集、并集、差集和补集
) ^1 g4 `1 |" H4 n1 k5 m( \5 z
( h. D# n/ U" ?% J) Q4 `& nunion(A,B) ! w6 u4 J9 ?6 J. Q. j
求集合A和B的并集 7 z- g* _3 `) }+ [) |! I! @3 O
% Z/ w1 Z' y/ | gintersect(A,B) , [# r$ C: Y- C& B- p
求集合A和B的交集 ; b4 w7 ^+ G% [$ _* k9 D# V
$ g# Y+ w& }6 u; Psetdiff(A,B) : {6 l8 n1 @( W7 w9 i
求集合A和B的差集A-B 3 b0 l- F7 q( r7 T
! O* w( X ^3 r
setdiff(U,A)
/ J9 A& f# t$ W' q7 C" _$ D1 m+ ` 求集合A关于全集U的补集. c8 a8 N, K5 u* k. N$ p
: \8 F8 u3 R% b- O8 ~; t
8 `8 D0 F% e; R- Q1 `6 w( u" {我们也可以调用Maple的相应功能,调用方法如下:
" `0 y: q& g- \) ~0 t5 V$ ?( v. _) R6 M
maple('用Maple求集合的交集、并集、差集和补集的命令 ') 6 S0 p7 w6 S; ?2 K
3 o2 b" q w, }% P具体地说,共有下列几个调用命令: 4 b' V% ^7 R2 _. v" W+ x+ o
1 w+ \ p0 y2 o5 u3 W- @( e* ~, K: }maple( 'A union B' ) 求集合A和B的并集 " z* ^ p3 l( [* a& \, a! s! C! R. m
+ d8 `8 g9 P) vmaple( 'A intersect B ' ) 求集合A和B的交集
1 a% m# }, @9 g: M4 }0 w. h, E, V& ~' \, O/ Y4 y
maple('A minus B ' ) 求差集A-B
# t7 @* J. r; f1 m, l" E8 P3 w/ r6 n" e: t" d+ n3 Y8 e" T: a
maple( '全集I minus A ' ) 求集合A关于全集I的补集 / `# ~0 ^4 L3 {' n
6 W2 ?! ]/ l2 `% W; b
如何用matlab排序
, A7 u+ b* `" W& t: I* y/ W/ ?7 S" l9 w& n
sort(v) 将向量v的元素从小到大排列(升序排列) |
|