TA的每日心情 | 奋斗 2024-7-1 22:21 |
---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
4 q E- c; y' S, G: q
- i& j- b, D+ [' ?& p E(不用安装maple软件就可调用) 4 g! I k# W! E6 n2 U
8 V! s4 T: ?: z9 p, y* g' z方法1:
' f% A# Y8 b# |) {& U* P9 A
: a1 C. u6 { kmaple(’maplestatement’) + W' {* } H5 ^( d0 v2 z z
1 Z8 [& |, c0 e, z其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
: g1 K/ S0 R' P( ~! {+ R5 q. B: z! o3 X/ z9 Y: c! K. g# V* g
方法2: 8 ?; b4 c. N! r; W* ~; J0 {
6 N1 G1 {8 A$ Q& Lmaple(’function’,arg1, arg2,…)
+ S3 L; Y* U" J4 s+ F6 {
/ |$ U; b8 H, O# E其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
; X4 y5 A( w* m* Z0 I! I2 N& t7 |1 m# W& g0 I9 f0 @
注:如果方法1行不通,可尝试方法2(个人经验)。 $ j3 y" [2 k. ~* e2 s
m5 J* P( P& [: ]2 F9 T2 M
基本代数部分 6 x% W3 u0 k. x7 J, z, e @" ?
/ J' h* A9 J9 J如何用matlab求阶乘
1 `2 z8 O+ V6 R7 A5 ?& G5 p
' g- n$ x Y9 A4 x4 D% `2 tfactorial(n) 求n的阶乘
. X; y/ m7 p% K. g0 a* |8 @- f% @! y4 g
如何用matlab配方 0 B/ Y2 p T6 A& h$ }
' {7 V8 h0 N" z) V
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
, u; ]3 H) }# y# ?1 X2 N4 l- s6 W1 k/ F& d( W! R, u$ p
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) ! ?$ X2 ~2 X% P( v9 S2 h4 Q
1 D5 G, E7 x! D q' {然后运行maple中的配方命令,格式为: 9 O; W. _% N, b1 ?+ z6 o
5 a5 K1 M r" Y8 ~. smaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 5 t8 t) ~0 E7 O" G
/ h! U) Y$ [9 G) U
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
) A j& P/ M( m/ u# X3 Q& P- w6 S2 o4 W* G( ?
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
9 [* ^! E$ r) C7 x1 Z
- [ g% c- ?- O7 Q$ d+ p1 d' fmaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, # ^7 P+ o2 E/ l
2 A8 X" _% `7 m; X# t如何用matlab进行多项式运算 W @' j7 X. Z
& c4 v, G' _$ q4 @(1) 合并同类项
4 f/ H- d$ r" p, i7 s
+ k, a# y- }' k7 n$ l/ s5 b, D& csyms 表达式中包含的变量 collect(表达式,指定的变量) % B0 N. F$ I" o& r9 J! K$ B/ m
+ g! X$ ~9 `/ \
(2)因式分解 ; _# b' A3 U# g; |/ @
8 c3 w% D" x$ ]( I- A
syms 表达式中包含的变量 factor(表达式) ' j& W! A3 Y% A/ t9 P4 M, t3 y$ Q
/ j; x2 \! d3 d9 ^' \% ~$ _# g3 G(3)展开
5 t8 b: |4 I, M$ D( e' F! [$ M, Z5 `& ^* W' M
syms 表达式中包含的变量 expand(表达式) 0 O+ X5 P. W" `# i# A! x# ?
8 k o' u: r6 B, G4 K) v我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: - z# v. O& f. `
6 y" j: X8 }) N$ U
maple(’maple中多项式的运算命令’)
: n5 e6 d) @/ h4 v
. c) L; R/ ^1 V如何用matlab进行分式运算
' x, P y y' k6 A3 n5 }! ?4 [$ W r/ u/ `& t
发现matlab只有一条处理分式问题的命令,其使用格式如下:
4 F: h0 h$ z" h) }& p N: f( r) M, L. y( o+ r+ w: a+ u$ Y
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
. `& X" z* c6 I; a$ m6 z; E3 ^' {% x0 j L. @; O7 Q
不过我们可以调用maple的命令,调用方法如下: 3 ^! G1 g% P8 i' l# r+ m+ W
3 ~. L% F7 r- B0 ]3 _ P4 Q
maple(’denom(f)’) 1 r$ J" C7 r1 Z
提取分式f的分母 s1 w' P9 r' Q; J
* P: T3 m y5 V/ Z
maple(’numer(f)’)
( c. Y+ s, ?' h$ }# f& O9 d2 H 提取分式f的分子 " h: `! ^' G4 T/ H
0 \2 ^' J3 u) i3 j; u& N
maple(’normal(f)’ )
3 M/ ^: ^3 U. q/ r$ b. u 把分式f的分子与分母约分成最简形式 - N g3 f7 K8 \) x; j
9 \' s Q: `# g6 n0 j- u
maple(’expand(f)’)
- t3 G7 x* i' J 把分式f的分子展开,分母不变且被看成单项。 9 d, o4 |. E/ b T+ n, B
8 h( O9 e- W6 H2 Omaple(’factor(f)’)
) ] W7 I# n& X; v5 d- B* N$ m- D; c 把分式f的分母和分子因式分解,并进行约分。
% S& K2 b; \( k, | * X2 H) l) ^6 ]0 {5 }6 R' k# e
8 z# {: z7 k0 N& G$ D! ?
如何用Matlab进行因式分解
* l: S; O$ v& @6 E4 ~, G7 O
( b/ g- |, G1 ?6 s* ~0 p: X8 jsyms 表达式中包含的变量 factor(表达式)
$ }3 M. }7 Z" T$ O3 H: w$ h* W7 Y) @; w* p
如何用Matlab展开
4 Y- `+ E# ~9 d }2 l2 g! D* q. ^& i6 c4 z2 [( Q f4 R6 b4 `
syms 表达式中包含的变量 expand(表达式) 2 {! b! K) G0 [# y2 L9 V6 Z
) }8 c4 i3 t0 `9 s5 } 如何用Matlab进行化简
7 x6 U; ?$ }& W0 F) k4 b, A% e, z5 f, S' A2 P8 W# P
syms 表达式中包含的变量 simplify(表达式)
* \" v$ u4 @; V- N1 n4 o6 N
9 ?+ R+ Z7 m5 x, R# U2 g7 |2 Y; d2 K: W如何用Matlab合并同类项
# m0 B+ `/ x* A7 X- [
, D* W7 d6 s* X/ t3 t: ]syms 表达式中包含的变量 collect(表达式,指定的变量)
2 ~! d& Q5 }, x- f' P
4 A* X* L& p" T% J+ D8 R; x* D如何用Matlab进行数学式的转换 5 y/ j( d: W) |; O- `
. i5 U& Y8 B$ F, o. C+ `
调用Maple中数学式的转换命令,调用格式如下: # v$ \% p C+ C" w
' X0 D" | ~- M& G6 m
maple(‘Maple的数学式转换命令’)
" g6 r; J- C: s L3 u" v2 v( M4 @1 w" [, S+ v
即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 4 ?& c" ^4 w* v
! j" x- H5 s6 E/ k& L' Hmaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 2 l6 s4 D0 q' x3 G
" m1 C8 O8 V0 k如何用Matlab进行变量替换 - K! \- w% U6 n g/ ^) N* Z
- S1 m- a8 S m, Rsyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) . o; Q* z0 ], s! |8 g* B! M
$ v7 s. `6 e/ Q s0 ]) j$ F
如何用matlab进行复数运算 : Y I0 f( j) s) n5 S/ E# {" [9 E/ ]
8 V- G7 J7 N0 {& B% q4 y9 g
a+b*i 或 a +b*j
, p% c/ ]0 _% m# x 表示复数a+bi 或 a+bj 2 q. J; t6 t( [
. S" I; M' h" n7 T3 j8 G. a8 j) U
real(z) 1 s9 |% |% l% z/ F
求复数z的实部 / U H2 H5 A. [2 z; J4 M! w" D( k9 k
" N `+ J2 @4 a% S) g( c5 pimag(z) 8 K5 W' c8 e! D/ @1 e5 o- K! Y- M
求复数z的虚部
% q( I; [7 t9 m2 T/ s* Y 3 B- q0 ?# G" q2 P" D+ Q
abs(z)
1 S! Z2 Y- T% [ 求复数z的模 ! b) i x+ g6 {2 `4 K6 _
3 J. m9 g/ f7 [! y5 j! e/ p: V9 hangle(z) , V2 _- e* `8 D) w
求复数z的辐角, 6 Q/ k" {4 L0 U% e6 h9 _. ^: D
9 c- {) |, t3 w' K6 C4 \6 mconj(z)
2 p" p+ f* }5 G J" ]* q+ _ 求复数z的共轭复数
9 ^" W) R) p+ w, V
( d% |& S/ X; L$ P, z. ?. ]exp(z)
. j' ^. |+ f$ Q9 b% n# g 复数的指数函数,表示e^z
6 z% q$ c7 V/ H 4 E& ?6 l0 a; G: m8 V
0 t+ _7 I" `2 u2 S4 Z如何在matlab中表示集合
/ q4 J0 T- x$ k& b# L' f! T) m2 A1 ?. L
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) ) f) _3 R3 A( A! V- f
0 s, d% k" o8 ], aunique(A) 表示集合A的最小等效集合(每个元素只出现一次)
& Q- @ W7 u4 }% H2 D: K' L8 F+ s) d) C. z E" F/ C) j8 o5 t, A
也可调用maple的命令,格式如下: . f' P+ G. w# P, X2 G, i
! P3 @. b% E6 C
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
3 j3 |9 j( R- X8 H' [1 Q' q/ a- E) p {/ w( `* K' ^$ [7 C, T
下列命令可以生成特殊的集合:
+ y0 @2 y' `0 W: l3 j9 i0 {" ^3 [6 o, K+ o
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
6 R# Z5 b N/ J! I/ S& v! Y! I+ ]* E( h6 t# G9 H
如何用Matlab求集合的交集、并集、差集和补集
~, e7 J" @1 t; i
^/ M: {; j; J% e6 runion(A,B) 5 _) a5 [) G! f, C- b/ f# I
求集合A和B的并集 ) z% E& e4 `$ G. r$ Q
, `" h, c4 y7 O* [! dintersect(A,B) ; ^2 [7 K- o, z0 p0 K& J4 @
求集合A和B的交集 C: u7 I' d6 C o" D
0 |; a; J" Z& k4 U$ ^; x; u0 Z8 bsetdiff(A,B)
; F8 l: |1 K& q5 e) m* l 求集合A和B的差集A-B 1 o; C0 m1 z. l5 W1 H# E6 f# n
3 x i* H8 z, C) Qsetdiff(U,A) " l! r5 I' u; q1 W2 Z. a9 {4 y; S
求集合A关于全集U的补集7 K0 b$ T Y Q3 v& \- ?
^( i2 Z/ Z# u% R9 v
; y/ G5 U# W; F. ?# [
我们也可以调用Maple的相应功能,调用方法如下:
- G: n+ D& b4 ~3 |
/ A/ M( B- y imaple('用Maple求集合的交集、并集、差集和补集的命令 ')
+ t, K0 l5 c5 G; S5 k; J( b
0 f) a6 j5 n, M; T( C具体地说,共有下列几个调用命令: 2 L1 K. f9 T: p" X- [
+ |0 w& a' `2 P2 q4 Bmaple( 'A union B' ) 求集合A和B的并集 9 w* M# s! B! R. p
8 M! E- }) P+ X" Z3 V7 Jmaple( 'A intersect B ' ) 求集合A和B的交集 0 a2 j1 D8 { y; Y
* [+ o: q' X+ A9 C; |maple('A minus B ' ) 求差集A-B
# }/ n) F. E% C! N( ~* S6 n( f. ]3 e# F9 }) k0 G+ n4 J% U
maple( '全集I minus A ' ) 求集合A关于全集I的补集 * L6 V9 P. h! Z; ~2 {
# y X; o" c$ q2 C
如何用matlab排序
% @ T: s* z- p w2 |4 Z) {
# }* w5 @! ^0 Ysort(v) 将向量v的元素从小到大排列(升序排列) |
|