TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple 6 z5 P4 Y9 J B6 L8 {7 f# q
0 p2 W. J" n$ s4 c% p(不用安装maple软件就可调用)
& ~ `! ^- d- q9 K+ N
8 a) i/ s$ K. a: {7 C& y) }方法1: 6 d! S4 ~8 m1 L: t$ u
" r0 U5 M' A+ Q1 |* W/ c
maple(’maplestatement’)
2 q- j& ^ K {) Q0 B7 H$ @
5 o+ M& a5 B6 @# U其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
) q. f+ w& W; E0 \' K1 ]$ h
; H; K0 d) X6 J8 I; G$ V( A; O; p方法2: ) s9 J8 y6 ?' [. V( A6 ], z
% F! W9 P! ]7 L% P: g& s( n( O
maple(’function’,arg1, arg2,…) & S3 a* Y5 K& W( [
4 `, C6 ^ p) w/ V) |7 c* R
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 % y0 B7 p% z3 U U
2 o! d& s& X5 q" S: o% D
注:如果方法1行不通,可尝试方法2(个人经验)。 ! f" _$ u+ c5 [0 k: o, R$ M/ ]
$ p2 j& S2 {% x- W
基本代数部分
0 F/ W5 e3 y" G& o! H. s2 L: s- c- `( r/ |' }
如何用matlab求阶乘 ' J& W6 V; L. {# ~' p1 |. V) `4 P
* C3 H+ r8 g# u1 N4 o! kfactorial(n) 求n的阶乘 + K- M1 _. Z; b ]8 N! L5 g
" a! s/ J, [6 d: C
如何用matlab配方 6 y6 E' j1 S8 m5 C, u2 N# D5 G
$ @( y; ?5 m7 @3 {' M+ Y* }
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
# U. d: N) E5 E: F. I8 k
4 ^; p l, F7 W$ c首先加载maple中的student函数库,加载方法为:maple(’with(student)’)
7 _' H0 Z- U$ W7 F$ Q$ B* z2 a. P( _% n& W9 H/ t( J' u
然后运行maple中的配方命令,格式为:
: o e. {# D- X U0 S) h+ E+ x) m; w) v/ j8 b+ v9 G
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 9 S" `, Z& c- N% G" D
& Z5 N7 q: a- q- E3 s% c1 a( ]maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
- K( v9 A/ q& O5 l% \$ Z0 @; B( { e" r& o( a
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 % R; f$ A; x) @! N/ Y& ^
, V8 f7 j3 V+ _ w2 Umaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
6 S$ |! l' @) V; P. I" S' X) P: o3 }5 p
如何用matlab进行多项式运算 0 m. F. I9 Z! a$ C- J4 _! S
+ I# B2 x1 r& y0 I. X2 R(1) 合并同类项
, g5 Y+ `* ~, w; ^3 H: I% V8 N! Q& \/ k) `
syms 表达式中包含的变量 collect(表达式,指定的变量) # _2 x: V5 J- e5 h
' c0 z. M' G2 d1 d A: Y- C(2)因式分解
$ S# k; z3 M# k* X F8 _/ L, f2 U
* {) b: d* X' esyms 表达式中包含的变量 factor(表达式)
9 [: ]% J% S. \, W
7 | E3 u1 Y5 @; W. F(3)展开
4 T1 z6 k' m L* M. J9 B) z% L7 |" p0 B3 k
syms 表达式中包含的变量 expand(表达式) U) ?1 o4 D: A
( `% X/ i8 G: Q5 i我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: / F+ _1 C4 B, I, q/ T. D0 z5 Z! t
/ q1 h' m/ |7 @6 L
maple(’maple中多项式的运算命令’)
3 L# ^3 g6 y$ F# T0 u. e& N, X, V6 p8 H7 k0 J, d8 _/ T
如何用matlab进行分式运算 - O' y( ^5 l8 f' r; N
; K V3 S) r2 ^, H8 I) _+ N5 }
发现matlab只有一条处理分式问题的命令,其使用格式如下: 4 d1 \: F K7 a- ]/ t
, `% O( I9 i& p6 J
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 9 `: b4 g; D, @
! d. D& h# s% H8 C不过我们可以调用maple的命令,调用方法如下:
/ K1 Y k; T, e) \: h% q5 u- T! l) {% x: _' ?. o: E4 C5 L) _9 R( T$ ]
maple(’denom(f)’) - W- S" t9 {1 E1 ?- z" p
提取分式f的分母 3 t7 x3 R# m6 L$ v- X. F
2 c; c1 q8 j" Y+ F. I8 a' G
maple(’numer(f)’) ; p+ E" @9 {& Q2 K$ j: b* A$ T
提取分式f的分子
2 k( S0 q# Y- c3 l$ d+ d
7 z6 |* V. \. T/ wmaple(’normal(f)’ ) 5 l: R' z8 R( r- I; Z _
把分式f的分子与分母约分成最简形式 # x0 T3 D$ S# P7 i
! i5 \$ ?, z- w) \0 a6 ]6 T- t
maple(’expand(f)’)
0 B, u! P7 O9 s. x2 g. E/ {# B 把分式f的分子展开,分母不变且被看成单项。
( X' H5 ` r9 d4 c/ }" i : ^9 E( x" K3 O5 F- j7 \% [4 q0 q; ^
maple(’factor(f)’)
: c f/ Y+ ^# E( m 把分式f的分母和分子因式分解,并进行约分。6 {6 `& _( j) Z
' y4 }8 m, H( X [3 R) b( S2 I7 }* g5 K3 v8 p6 ^4 X
如何用Matlab进行因式分解 : ^0 l7 C0 p, Y) X3 C' n4 Y
& ] A) f- s* a" |9 H$ usyms 表达式中包含的变量 factor(表达式) , B3 m/ I2 m& U$ `+ S+ N/ K: u H
& Y2 l+ @! k! ?4 d, R* V 如何用Matlab展开
, |3 x+ h: N& M# H! y8 G/ Z; w' `" T1 O- q
syms 表达式中包含的变量 expand(表达式)
B8 W/ V+ r$ u' k
; F% e3 } \4 H8 b+ b2 W: u 如何用Matlab进行化简
% M9 |8 @# \1 k/ L- |! L+ |& v
& c# X, d1 _ R0 B5 D. D+ O3 esyms 表达式中包含的变量 simplify(表达式)
7 i& h! O3 U$ B1 M8 b. s4 e4 V; T$ c" d7 Q a6 p4 |+ K/ g. n4 ^ k0 m
如何用Matlab合并同类项
' \' w' Y# n& ]; B& T0 o
8 y1 m1 h4 ?' Vsyms 表达式中包含的变量 collect(表达式,指定的变量) ( a, V6 e7 X7 t7 \5 U g$ d
* d3 ~8 V" A! b' w如何用Matlab进行数学式的转换 * l" b8 \, h) }3 v0 H( U
! O: s3 b/ w2 B' D6 A0 i C
调用Maple中数学式的转换命令,调用格式如下: / U% H' D$ B; m: h: J
# ?2 H# T* A& j" j# w
maple(‘Maple的数学式转换命令’)
! ~- W7 V* a: y
4 f1 u* i+ W+ n9 b/ o即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 0 G4 T; Y2 \5 e& w. K
+ Y$ ~ n g4 m, hmaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 6 C2 p+ }- f- m! A
2 h/ N+ p3 L, _* o6 x! n5 {5 `
如何用Matlab进行变量替换
* n% i, j% |4 c( N' d- o/ U2 t" D
: v( E8 R/ S* I* ~syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) 9 `4 A% [9 m+ z0 a- h; j; ?
Q- h1 Y8 r: W0 t$ b 如何用matlab进行复数运算
/ u7 B# d0 j. |0 _8 i7 ]9 G0 c& @ b! A: {
a+b*i 或 a +b*j 8 p# f, M! X: m* s" Y: \
表示复数a+bi 或 a+bj
2 i4 ?. }2 a+ u' I
( t$ a# T) s( s3 T& [2 ireal(z)
8 @9 a# ?! a) b( `8 D1 W. q 求复数z的实部 5 j. b, v: h. g I" \3 }* T3 B
" u( y4 \3 q' L% Z4 himag(z)
3 h) L; b( }3 J6 S 求复数z的虚部 5 ]& ]- N+ H3 D: Q7 P5 n8 P# K
0 q9 e* S: ^3 D" C
abs(z)
; i5 s5 M5 J6 |* g3 I/ t; R$ U* _ 求复数z的模 # ^- n7 O, F5 ^+ p, ]
5 A& r j7 w, [
angle(z) & s- ~* a2 r5 J. S( j# f! P: J
求复数z的辐角,
- a% K, a/ `; {/ K7 Y8 p7 v & E& N9 ^( d& B5 Z; }
conj(z) . m& L, @+ }- X: O! c* O0 {
求复数z的共轭复数
1 M( v. U$ Q( N! O) Q" u: u3 ?
' u4 ^7 w) N) [2 _exp(z) 9 y. M2 I1 F( H. O
复数的指数函数,表示e^z1 Z$ R) z4 g2 a* a8 L3 ]1 }
$ l; s) u/ d% V! i( Y/ K
9 k( D9 w) |1 ]如何在matlab中表示集合 / t# s) ?1 R% x6 n/ Y( X) R1 B/ ]& ]0 c
" g3 f7 L- Z: g: t) k$ A+ ]* n* T; ]
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
, ~4 ]. r# r6 X0 J9 c* L. q5 x3 \" Z$ c$ C9 P J9 }
unique(A) 表示集合A的最小等效集合(每个元素只出现一次) ( h/ u' ^; t/ u6 h. P. O, d# E
9 K+ N1 z% w; P1 r$ S
也可调用maple的命令,格式如下: 2 b0 J4 R. G9 i# K' w- r8 y
$ q# E+ g. R5 W7 Q) Tmaple('{a, b, c,…}') 表示由a, b, c,…组成的集合
4 n2 E0 Z; ^+ }$ N2 k0 [/ Q3 c& s; T; a, ?; u# p7 u( A2 N {# O
下列命令可以生成特殊的集合:
$ e# Z4 N8 J/ A. O( V
% M) G, f$ M( A: T* w7 Nmaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
/ G' c0 G% K4 y7 Z7 t
. O$ [& U5 @8 h0 e如何用Matlab求集合的交集、并集、差集和补集 6 V! V \) j- t% d2 a1 {, H: A4 N
) c4 j5 n8 B4 P5 ?
union(A,B) & c, w# v: R5 n$ N2 e
求集合A和B的并集 ' {3 }/ n- F1 `/ v7 n
5 c0 ~+ K1 T* ?$ @, N6 Mintersect(A,B)
% O$ g+ I8 H0 X6 o* N3 ^" E" Y a 求集合A和B的交集
. o) @; z. @: }# h W0 a
( `3 I+ K& K0 Lsetdiff(A,B) & e6 j v* S1 U5 r4 l" ?" i
求集合A和B的差集A-B D( Q( H1 p! q; }" L
# U* m+ p7 x! b: j. K
setdiff(U,A)
0 z; p- e2 |" l: ^: V l 求集合A关于全集U的补集2 {- L6 Y( G j B+ h0 R' h$ T
; Z g7 ?) E% p: z
( M) k+ P4 o1 Z4 g6 T- T# A/ C我们也可以调用Maple的相应功能,调用方法如下:
! L" @9 U0 U, m" K1 e* P
, ?- w d* Z( Q4 h9 `maple('用Maple求集合的交集、并集、差集和补集的命令 ')
: h- s/ p0 y7 I% \. ]
+ ~- ]+ J' [' |% }2 ^具体地说,共有下列几个调用命令:
3 {/ h; j" @& p. |% g- F+ z' i$ J( H9 S5 R
maple( 'A union B' ) 求集合A和B的并集
# h* |$ M; Q; N% G/ ]3 x5 {
8 G* P7 j. k' Umaple( 'A intersect B ' ) 求集合A和B的交集
. ^- y7 T6 f1 p9 b1 I0 L) Z" ~) y$ O8 t p0 |( M
maple('A minus B ' ) 求差集A-B
, P* M0 e! U, i' G: o$ U5 H
! y, q+ G" W. X" e0 Omaple( '全集I minus A ' ) 求集合A关于全集I的补集 3 x4 M2 v/ D4 z+ m: J5 Z9 n( d
+ c1 o# g" X) {- g6 @2 g' P& J2 e如何用matlab排序
. {( Z+ y: k- B
! H2 Q, {" `! [sort(v) 将向量v的元素从小到大排列(升序排列) |
|