TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
# b4 P; C# {0 F& X# l1 V" m5 u
. a+ k; v9 X) c T0 u5 r- H(不用安装maple软件就可调用)
0 m: G( L$ ~) v
" ]2 ]9 F: U( |$ y: E) W0 `方法1: 8 D5 c& l( {* `/ U. _
+ H# } i/ X; s. k( X m4 \
maple(’maplestatement’) 5 l4 P! k% y; Y+ V
: U) H) K1 N! X6 h( G
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 5 E# Y) ~4 I& `/ d. l& m
: a- o, _: n# T9 `' n8 H方法2:
, F2 m" N; [# X- S
6 j- F. G- O& xmaple(’function’,arg1, arg2,…) / ^1 y) Z& y/ k
- D+ F' u, A4 b. p
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
3 U6 Q h7 g8 o( M& M) ?( ~% {4 G8 ]3 ?& |6 o7 W6 B% S
注:如果方法1行不通,可尝试方法2(个人经验)。
/ U/ ]5 z$ n( j: w$ L" s, h# e# H- u# J3 n/ d9 Y9 {# J
基本代数部分 * h- O7 ^+ m" q$ J
& ^: y7 ]0 q. K& a, v如何用matlab求阶乘
4 J% w6 ?2 `2 c: x" |' u% _
5 K$ n8 k& I [+ t1 q, v0 Lfactorial(n) 求n的阶乘 " R: [' z8 ?( O1 z0 E" H/ P
: r. M* E2 u! \; M/ [
如何用matlab配方 3 u" t/ [5 r+ Z& X0 z1 n
8 h' o7 i1 `( }" j8 T
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: 6 y" U/ N5 l( s! A: X
# p6 ~6 d3 {4 ]- e% G
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) / a" X6 T Z \, p# D% t% v
* F" ~" ?4 B* j+ `1 e* @6 e0 Y
然后运行maple中的配方命令,格式为: 3 s e* I$ g5 N, H9 n
% q1 V/ i7 _* r2 D$ E/ G* Vmaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
" K A5 Z5 g, @8 T
0 V2 S2 b: ?. V$ Vmaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 5 a! }& |- v& |9 d% m7 \
2 H, g" B, k3 t$ D8 f9 _maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 : a) u7 v6 ~- a! i V( ~
5 {8 b) H* D" z: cmaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
Z8 r% ]) ?+ A3 x6 Y$ d1 p3 v& F0 Y* z
如何用matlab进行多项式运算 4 F5 c; ?' `, x, b n8 r
/ s) Q; r4 j! M1 ^4 S/ \
(1) 合并同类项 * R$ {# ^! y% u6 l! g) `
) b. X) a! Q$ f2 q Q0 S8 |syms 表达式中包含的变量 collect(表达式,指定的变量) 1 E, s* u+ q2 o( S: W j
9 v8 [# @( E! h4 y1 L3 }(2)因式分解 4 t, k6 d1 `. S3 \% R
4 V& `$ u+ o- @- O
syms 表达式中包含的变量 factor(表达式) . G+ G; G4 ^1 k- a$ t) M
" ^* O: O2 L6 D# j) s& x5 C(3)展开 9 e) K' h$ r; T$ Q2 H9 q
( P3 |. ]( }- i t0 }0 f- ]6 n
syms 表达式中包含的变量 expand(表达式) $ i; S1 c- _1 v1 [& o1 @' k
5 i n+ i, l7 D6 E# J; @9 t
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: - `" i8 S7 |$ k( A' j/ ?
6 @* d/ ~$ N/ Z$ J maple(’maple中多项式的运算命令’) ; ^- V* k# v* k( A& Q
* I1 x' Q9 N8 x& O如何用matlab进行分式运算
" v- L" S1 Y: w6 X" {. p2 x2 N8 ?( f& M
发现matlab只有一条处理分式问题的命令,其使用格式如下: L5 o3 S! a% Z0 G5 U
3 T8 M/ [0 v3 {. B! Q
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 # ?( v* C( Y' Y0 B+ C/ H
# `! l& V; k: j1 H, C不过我们可以调用maple的命令,调用方法如下: $ k+ c; K3 N6 \7 b( G$ }2 g* I$ x0 w
; b9 C- V. q. |! N) Vmaple(’denom(f)’) . R* H: Y/ E, M+ C+ j) ^' T
提取分式f的分母 # l' N# [$ m' f
. y$ e3 R6 f" {- ?) M+ s6 s: B. t
maple(’numer(f)’) ( g8 b- @8 G8 `0 C" l5 ~1 T7 @
提取分式f的分子 1 J+ j) S, } d/ t' i
: t- s5 a1 f/ ^/ H; ~; V K/ I Pmaple(’normal(f)’ )
8 Q1 u" o* c: V) m7 K3 @ 把分式f的分子与分母约分成最简形式
2 T0 N/ _. y8 q& \3 H( ~ K& W
. V/ c( d: S3 j/ B1 Q% G6 Kmaple(’expand(f)’) ! V8 y0 s. V6 k# K% ?6 @! X
把分式f的分子展开,分母不变且被看成单项。 2 d, @+ A7 _; B8 n& g
# t) H! R! l* h& Jmaple(’factor(f)’) 0 c" W0 s# j( z6 @+ a
把分式f的分母和分子因式分解,并进行约分。
' Q" v' _! }/ I" @
6 _) J& p5 ]5 N9 n4 W% H
$ X/ E5 A* n4 L9 c# [如何用Matlab进行因式分解
$ j4 S1 R4 U; V9 d$ B
0 K, K3 F3 _4 M1 Y) {syms 表达式中包含的变量 factor(表达式) 2 S4 h( p: @0 k/ U6 c: Q* c' A5 p! K
$ s5 D$ T; {( J3 X; L
如何用Matlab展开 ' p9 r/ {* {0 z5 R
! l3 ^9 }2 \6 p& C* v
syms 表达式中包含的变量 expand(表达式)
: R, I2 i% b* l
3 y1 M/ b4 d/ [; d8 I+ q0 { 如何用Matlab进行化简
" m/ N; N: R& N& N) A# ?0 P: T/ ?2 \' B
syms 表达式中包含的变量 simplify(表达式) 9 p! S# M. Q+ U: ~% w+ \/ |7 {& {
$ m# v4 O5 H! I如何用Matlab合并同类项
) Z1 R: F$ U! s( S/ h3 u7 c# u6 D$ F" o4 U( a
syms 表达式中包含的变量 collect(表达式,指定的变量) ) V$ j; O& D$ ?$ o D$ E
0 S" I N/ J* h+ P
如何用Matlab进行数学式的转换
" q) k# o5 Z5 a6 h7 U) e* M% T. f
调用Maple中数学式的转换命令,调用格式如下:
7 S- M% z/ F' q+ ~
. s: H, ?; p! Smaple(‘Maple的数学式转换命令’) $ k9 E8 |0 V! s, E& p% B
8 [( J3 }: J- f# X即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
`6 ~& g2 f7 F1 c7 S+ @$ q/ B: e$ H7 \, o9 R& K+ _3 ^" i* A
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用)
, i! O' S) A6 _ B6 Z, [! D3 i1 r1 V6 \
如何用Matlab进行变量替换 ) L( P, o2 ]# k. i5 c/ j* q. r) |
2 ^3 C: |5 h% {* qsyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) , m. [$ y! M3 y _* _. j
) T$ I3 T( A" C0 f7 z G2 L 如何用matlab进行复数运算
; h# ~0 p( Z# Z6 \0 [: m7 ~3 N! y( K& V- l, j" ^: \7 j/ Z9 s
a+b*i 或 a +b*j
A' u( d" C ? 表示复数a+bi 或 a+bj - X* w6 ~" c: ]$ V7 d) _
, t. ^' V- ?0 Lreal(z)
t# B; M; M) |2 B! T; m 求复数z的实部 * x# T* {6 L0 @, v
" I x6 U/ `: J4 ^5 [$ h8 mimag(z) : w! I% Q" I/ v5 x0 g
求复数z的虚部 + e" H0 ]( }" M4 b; F; m% M: O) D, s
9 e/ C1 I1 M" G+ p# [# Q H7 y
abs(z) S$ y( R$ T$ Y6 i8 l% S
求复数z的模 * D0 v6 W: X0 c" Z
# O$ ?* I2 ?! P- U8 P, Cangle(z) $ ]9 |( t% {( S8 L& D
求复数z的辐角, ( \ f1 G8 [, r" \7 o8 F5 T
& B( D- ]0 o$ g6 @7 h( M6 h
conj(z) |( E) ], l& ~& T% w
求复数z的共轭复数 5 M4 F( I0 p9 A, V* b. l+ x
4 D0 m+ ?: ^; m+ Z" [7 ^exp(z) * ~' i( k! P U0 [3 @* r
复数的指数函数,表示e^z- O, a/ \. c- L4 C
1 D+ \) B9 A, K+ W1 m
3 q( ]5 x, b( I; w/ @! `如何在matlab中表示集合 % F7 ?* Z; Z o3 D3 @9 w. s1 a
% o: a! o& k/ N6 X% ~6 X/ o! o- Y
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
) n' Q3 @ K2 s& M% C) r7 O3 [
, o+ R7 `6 {3 p, C. E& d* Z, `unique(A) 表示集合A的最小等效集合(每个元素只出现一次) $ w; r5 @* M" O! @/ \+ \7 t
4 L! W& k/ Y% T! W. h' }& \
也可调用maple的命令,格式如下: " |/ e- ?2 h0 o+ s5 S5 X1 Y, M
4 Q- Y9 r1 B3 P7 C# f+ D A4 W3 Z
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合 1 W6 O" g+ d0 u
! H7 I+ s- \* d9 l6 \下列命令可以生成特殊的集合: . ]; j0 |' E3 i. h1 Z9 l
) G$ w. V0 G2 t7 m- }/ c; jmaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} K3 E. s7 E( Q' x- H3 ~) ~
1 k# n! k3 ]4 s9 c
如何用Matlab求集合的交集、并集、差集和补集 1 k& ]6 a$ t e( ~
* z0 X/ {( ?- f( hunion(A,B)
: ~8 ~0 P+ t! T5 J- e, j 求集合A和B的并集
/ d( u7 f; O) k# b; N( ^6 k
% Z+ s' u. L& Q* z8 lintersect(A,B)
$ c" N& G" C O 求集合A和B的交集
7 q% x) S+ g* d6 Q" h, R7 h 6 D& v* ~0 p) ^( ?! ~* j4 s% ]2 a$ [
setdiff(A,B)
: S, V5 O: k7 N3 h9 } 求集合A和B的差集A-B
- `/ t8 H" d7 D- g; g
' v$ y/ w- U& x- @& j* N! _setdiff(U,A) & n8 m: Q8 s7 k; w+ {
求集合A关于全集U的补集4 A9 I4 K1 V$ J) v% n
8 K* C4 t& G5 o; {2 \
, c- f: O; p' T v( r( x我们也可以调用Maple的相应功能,调用方法如下:
3 f3 B1 X# B% H3 `, L& n( f# M5 Y. n0 L1 d
maple('用Maple求集合的交集、并集、差集和补集的命令 ') ; A7 |( ^5 X! J' a0 U7 l) Z+ x
! i# `* r0 Q' m5 ? G& h/ g
具体地说,共有下列几个调用命令:
; z7 e* R5 ?+ f" n+ ~; L. D% M& r( g* I, K4 ?5 x0 `5 q
maple( 'A union B' ) 求集合A和B的并集 ' Y5 B6 z( N% t3 o d
5 J/ F, V9 Q& y" s A( \- L
maple( 'A intersect B ' ) 求集合A和B的交集 $ H$ {4 w( B8 u8 s6 @
% K% |7 a1 k9 p1 fmaple('A minus B ' ) 求差集A-B
9 E4 q/ O$ U O4 E* X6 M+ B' {8 r$ E2 V
( Z. r9 _: v6 z3 R$ T* m8 _* Gmaple( '全集I minus A ' ) 求集合A关于全集I的补集 5 H5 P: L8 q5 f- n4 h5 s- c, p6 O
% Z) h8 \' t# v% H/ | _, q& L9 L: D
如何用matlab排序 % F T. M9 y* y3 N
6 z- E+ h( o3 ^& b4 s) O) Ssort(v) 将向量v的元素从小到大排列(升序排列) |
|