TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
7 b3 H" ]/ P; _: h- p: k) P, }! Y3 O: I* L
(不用安装maple软件就可调用)
1 e. _. L8 Q+ s9 p4 `# V$ w: s6 Z) m* A0 y1 g
方法1: 2 @1 w' [; j/ c. I
% o7 C. X: p$ } y
maple(’maplestatement’) % g8 y1 K3 U: m9 k G
. C# k3 V3 j1 d0 C2 j1 R
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
+ l: U" k% E4 K4 N* |
- B7 g2 n" J& z2 D$ Z, u方法2: + }) b8 ]6 p c) C4 g' c. E
) V2 ^! p0 _! g3 M' ]; F
maple(’function’,arg1, arg2,…) 1 U- D, I! p5 O( u: ?
; t) O; g o; K& g% p- Y# l其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
" @- |+ X% T5 m1 b9 ]/ R* n; z0 ]6 x) q
注:如果方法1行不通,可尝试方法2(个人经验)。
' _3 h* z, T( V7 ~% U
5 V" V6 d# K9 T2 y8 L基本代数部分
& z D: Y6 W$ E: O' \! z, u( G
如何用matlab求阶乘
! F4 t4 f$ h7 h& U% c2 w' w
4 t. @8 i" r3 _8 @factorial(n) 求n的阶乘
' a0 P0 ]2 M* H7 k1 w& R1 Y6 P/ _: a
如何用matlab配方
% a% @2 \/ o* Y* o9 ?; v! ^( H7 F) l Y! b' Z- ?, {
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: , B" K9 y; q- C- n- J S
) j; O; I% U7 ^, }" E- W: J首先加载maple中的student函数库,加载方法为:maple(’with(student)’)
* t" `7 l7 g) X9 a: N2 P' ~2 H2 O; U& @5 a. y
然后运行maple中的配方命令,格式为: + b7 q$ ^5 ]6 m B" `7 {
2 O/ J1 y9 H- D1 o6 X! I
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 0 e% r# A, C/ U6 n5 D! x
1 t" e+ ]* D- Lmaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
7 z8 y7 x4 l3 |2 d4 T
: K0 j5 r0 [$ Pmaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 * c. i' M3 U, K( ~8 {( {" w
, y/ p- ?& L$ J, |9 z: z$ T, k
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, 9 `1 {* \/ ~% j/ `& G( Q9 Y: |
; B) N( ?( _ U( ^; V2 a
如何用matlab进行多项式运算
$ I6 Y0 Z4 d7 e+ M- _2 Y$ V, q1 r4 O, a3 i+ e
(1) 合并同类项 . N; S$ r" M/ d/ `. c; @
# M9 h5 `! }7 T; \9 ?. [, qsyms 表达式中包含的变量 collect(表达式,指定的变量)
8 K } I/ }3 m) Y. B
, e+ R. P8 l+ R6 S- v( k(2)因式分解 f& }" C' S4 |3 T
$ H, L( k/ \) y; {2 X F# J
syms 表达式中包含的变量 factor(表达式) ( E+ I; ~3 Y% d' ^* s8 k
0 S* o0 S: u& n2 @
(3)展开 9 h _8 n' F8 Z) o
3 x l- m4 n% J; i8 E' g, T' Nsyms 表达式中包含的变量 expand(表达式) 6 q( D. C. w. G+ ` z0 A4 q
! m [/ X6 t0 \& P
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: 5 u7 u3 s' x- {5 Q/ f' r4 W7 r
/ K8 E$ x0 A" T9 R1 O
maple(’maple中多项式的运算命令’)
- U; y; t3 V6 G' g# `# @. v+ W8 [" [
如何用matlab进行分式运算
2 h" K+ M" a. V5 R5 M. a* v* G* f+ S5 ]0 C
发现matlab只有一条处理分式问题的命令,其使用格式如下: 0 X, e' H! A& z! w. U' t
& Z! Q- K4 f$ i- P5 X, ?% p1 _[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 + F# H1 e+ W- m; p
2 U- `* r+ \) N0 ~. ^
不过我们可以调用maple的命令,调用方法如下: " S) Z6 k5 m' i. E# G
! O% E" i) p5 `8 O0 X0 ?" I5 K. i
maple(’denom(f)’) { H3 o; Q& f- ~! ]% q
提取分式f的分母
. v* x$ V" O( ^' b) }
5 C. w! x2 s6 P- ~maple(’numer(f)’) ! W6 z C6 k. ^3 y" T3 ]2 l3 R
提取分式f的分子
% f) s5 \$ y& ]6 ? ( ~6 k$ v& l& w' @- F, ]4 ]
maple(’normal(f)’ ) . u* U' M5 v. i2 t3 U
把分式f的分子与分母约分成最简形式
1 g0 u* P- a- a! J# z 8 i, X- X8 W/ U, _
maple(’expand(f)’) ! `! Q1 g# g1 B
把分式f的分子展开,分母不变且被看成单项。 & a+ b6 L- ? E
2 ~# {6 t" _2 X7 f/ X7 r9 ?: f; C
maple(’factor(f)’)
- ]/ P! Z& X9 [" w% K( z) e 把分式f的分母和分子因式分解,并进行约分。
' i- ]9 f) B# r. j: F
' v3 f' s! M( S+ ?- J& B1 I, P5 n3 @: W
如何用Matlab进行因式分解
% p0 ?3 }( D" [8 c _8 Z/ B9 U" n- b* P! Z: _0 n! }
syms 表达式中包含的变量 factor(表达式)
1 F- A. ? u' C' y9 Y
! D: i, {) w# u 如何用Matlab展开
) L# |* D- B/ W$ s" _) |; o; r3 x2 Z" G1 w* L" l) o% _
syms 表达式中包含的变量 expand(表达式)
i% m2 H" c) q, I: D8 p6 B- z
# K5 u( U( R% y 如何用Matlab进行化简 0 y4 X, N/ ]" L' r7 S `
" w" ~) j" s! _( l2 o! v0 Ssyms 表达式中包含的变量 simplify(表达式)
+ L4 ]' L7 D& n2 J( w+ z( z9 o, H
如何用Matlab合并同类项 7 o) u3 _! _+ c. y
( y9 D, `/ S) @3 Y3 ?syms 表达式中包含的变量 collect(表达式,指定的变量)
% B9 @. n% `7 m# o+ s+ `* A& Z) i% z' V0 {/ k8 R; C( u3 x- h
如何用Matlab进行数学式的转换 " ` P& H2 r" M& Q# _
8 U3 }7 I" D8 ~4 R: I2 K调用Maple中数学式的转换命令,调用格式如下: . B! C0 O7 Y9 z/ s+ m6 ]
) w0 q8 J1 U+ g; Smaple(‘Maple的数学式转换命令’) $ H ]$ p7 P% {! M2 ~) t
3 v- d2 r: T0 n# {- G, h g即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
/ c, S* Q2 ~) r3 W' V+ x9 D3 l3 Q( |: m5 a7 p0 Z* Y- Q0 }6 \
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用)
+ r# q5 a, j+ ?! o" h0 F6 M3 \7 M; X! s
如何用Matlab进行变量替换 * V, h% P8 X3 Q: x5 v
$ V0 |; S- m ~! D4 G
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) ( s a/ h, i" v
* J* e/ m2 B8 u1 V
如何用matlab进行复数运算 ' S$ b) s, \# M6 c+ ^" ^
1 k+ `' \* E H8 ya+b*i 或 a +b*j " U5 |. t( E8 g! w' L# @# ?
表示复数a+bi 或 a+bj 5 ]: q, p( a1 |4 q6 B- z
3 _& Q/ e0 T9 a+ M, {
real(z) " k( q9 q, F3 `! s* }
求复数z的实部 5 ~- |/ i3 z) N* h+ q# H
$ p% U8 `% z) i( d
imag(z)
' j+ [; u: G3 m0 o4 w 求复数z的虚部 0 P* t8 C, Y4 G( w4 B( m0 q
. i/ o+ V2 l5 }& k8 x
abs(z) + o5 W/ N# {# c* _
求复数z的模
& Z1 h( w- q% s3 L' g7 v2 r$ p
) m5 ]" G. p) N' T) @8 Yangle(z)
- a9 U f1 {0 m6 @/ t2 Q 求复数z的辐角, 7 C' S5 _ x$ N5 h1 w
9 i9 V- [/ M1 \4 r1 s0 i4 H1 W8 o
conj(z) ! f5 ~6 b4 E* g) a" y7 @9 r9 [, r
求复数z的共轭复数 $ d( M' w1 Y7 ^4 o" t0 f5 ]
- _; o1 E0 p' ~/ ?+ M# Qexp(z) - s1 s) ?" j! i9 k! R" ], Q$ f: S! D
复数的指数函数,表示e^z& V& M4 H. @! e
' F8 ^, I, W4 Y9 K9 T6 X
% o1 ]8 e8 V" c d. ~; @8 |4 I如何在matlab中表示集合
0 [; t& {4 O6 n1 f- b5 ?' H: E `2 m& B) v
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
# S1 U7 e. }9 M+ b! v0 t0 O R/ y% c: M0 D: r0 e# Q
unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 2 r/ y' e% y, Q, X6 U
! }# S8 C3 S2 m8 [% ~
也可调用maple的命令,格式如下:
! e/ N: F) E/ m! Y |( ~' C& ^# ]* v: B, g
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合 0 z7 E) @1 W4 {; [6 \$ w8 p
/ B3 z j; Z* [
下列命令可以生成特殊的集合: " |$ o- U% U- m) q1 s
8 d1 y& ?6 z. b* h- D7 jmaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} 4 B+ { r3 `; e
) l! _+ w( J2 B1 w- R如何用Matlab求集合的交集、并集、差集和补集 , g/ c v; i L1 l! p0 A; [
, t2 L9 }; c; j0 k" B. u+ C
union(A,B)
U2 p, `$ n2 A- |3 b) W1 c" r 求集合A和B的并集 : i7 j! g/ h# c1 B
5 r! O9 o2 x3 y' V) y7 c9 h7 i2 Wintersect(A,B)
5 a* V5 O6 J: N+ _8 m7 { 求集合A和B的交集 1 C# P R/ U7 _2 [& s3 q8 p7 \
6 y2 v+ r, ^2 \% m9 f' `/ ]- }setdiff(A,B)
- X: l: ]6 I2 W 求集合A和B的差集A-B
1 T- `. n g7 ?, j/ ~
* \6 i% w6 f* @) j1 Isetdiff(U,A) 4 W2 g: e& I; T1 E2 A8 ?& }: Y) I
求集合A关于全集U的补集
' a& {4 U3 u4 P8 U
+ r& x7 _, y* y0 E# L) h5 ^9 Q! C8 u+ a
我们也可以调用Maple的相应功能,调用方法如下:
3 @, z! h' I7 L n Q
& V) s: l8 ^4 e. w% }6 F$ Imaple('用Maple求集合的交集、并集、差集和补集的命令 ') , v6 \& q. a: {/ l0 Y% b$ O% f- `
( ^" @( p! t% |
具体地说,共有下列几个调用命令: 7 _& Y( L& I0 P3 _" P. G
' H3 e& R* Y7 R2 dmaple( 'A union B' ) 求集合A和B的并集 + k s8 e1 V; e. U/ c% n
* g# W, z; {, ^6 d) I* q v% c3 vmaple( 'A intersect B ' ) 求集合A和B的交集
2 _9 q1 B1 A, F8 Q7 e4 x) E% t+ e* J# d8 N* U
maple('A minus B ' ) 求差集A-B ) W' l/ v" I2 p1 f* l: T# p3 d
6 y( q0 j3 ?( v- i s5 Hmaple( '全集I minus A ' ) 求集合A关于全集I的补集
# [5 e7 h( _ D, j$ f7 `- ^8 z! O' l
如何用matlab排序
V8 ]# y: G% Z, ~2 D5 j( g
* `( ^8 x5 I4 j6 j1 v7 q% lsort(v) 将向量v的元素从小到大排列(升序排列) |
|