TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple . V3 X7 p' {1 Z
t! {: V2 J5 X5 L2 h4 i7 z, B
(不用安装maple软件就可调用)
8 H1 n. k+ ~" H( N3 U% q5 W2 x0 h0 s1 y7 |/ V6 N% f. ]
方法1: 4 T! y2 V- z+ V9 g$ W/ M3 a
- Q; ]( @- f' g2 [ r. B! o
maple(’maplestatement’)
2 ~3 O+ h- @+ n" Z3 H9 j
. J& J# ]' i2 X# |# U# z其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
0 i6 ^) H& f k" Q% @1 j# M& Y' d
6 z7 c( ]5 K$ s2 X+ P* T, m! o方法2: 6 y' D" I, \) c/ u& l- d
. O J% }% S, |# kmaple(’function’,arg1, arg2,…) 3 H( p, U2 I. T* q$ F+ w
3 G! }: {; S" L* ]
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
- L5 R, U, B- m3 M, s
# v8 r2 F6 g. t' O' l, P, g, z注:如果方法1行不通,可尝试方法2(个人经验)。
1 f3 t2 B* S. K4 u6 w7 ~- a" b+ g- f6 A5 ~0 c% _
基本代数部分 ( q4 T0 G0 V8 e% |( t( |: N
4 b& b* D/ \* c0 q5 j如何用matlab求阶乘 " @/ E, p0 x$ v& |
: ]7 L; r/ p3 s# Q$ e' Ufactorial(n) 求n的阶乘 $ S4 p- Y/ e& a; o
$ n% m* f1 n! w# w
如何用matlab配方 ) j9 H1 w6 f" O. C, {
4 `4 j+ X% W7 {% m. Y7 a+ i
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: O( ^+ {1 x9 y
. f0 x ]9 A* i7 t
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) 9 p) h0 `0 N, v. e
% [+ U& ?/ ^" f
然后运行maple中的配方命令,格式为:
% m o0 V" V0 y- ^8 B a3 K
3 k4 [- v! P+ G, m- amaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
5 k2 W7 \; q, A s
# M/ b& _ `9 U; q" _* J1 V1 e* ^3 Hmaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
# U0 c* o+ r7 ]4 I, g S+ R- \) j1 @" }9 {( m5 d
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
- j* @ O( i8 P
2 s1 Q+ {4 O' tmaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, 5 \. d; U! ~" J! \+ @
1 }" O3 \3 V" r( z1 B* N
如何用matlab进行多项式运算
! j0 h. H9 [4 T, T$ X9 m+ @9 x# ^8 V G* `
(1) 合并同类项 7 o* |1 X' U8 R' r( l
" B f- s9 ]1 Z: @9 x3 asyms 表达式中包含的变量 collect(表达式,指定的变量) . a- A) v" U7 G
, n' C+ {, F8 N! K, F2 M$ M7 g
(2)因式分解
5 ?/ }2 n/ p2 A) R/ B$ [0 G O& _! V
}" H+ i0 j/ G" U2 ]syms 表达式中包含的变量 factor(表达式)
" a3 @2 E% z6 Z' ^$ {: k5 E6 ]1 N1 @% j2 ~" e* G& k% G" _
(3)展开 ( f5 M) U7 a3 G9 p. r9 \& P2 G
" |8 q' F* N4 a7 ?
syms 表达式中包含的变量 expand(表达式)
/ Y0 N+ {7 K( B& x6 x( @. n# |2 y/ E! y! T4 m1 l/ C
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
% @7 f1 p/ r$ d+ }' C
5 I( g! P" u* `* u maple(’maple中多项式的运算命令’)
x. W* g: F' N- m- D- F" }, q1 E9 e3 z7 Z: k. N
如何用matlab进行分式运算 # m8 I' A7 R! M- s: a( s. f
2 d. k) K" f4 @" z" E( m发现matlab只有一条处理分式问题的命令,其使用格式如下:
7 {1 P0 w* n/ T7 Y0 M/ B& n. T& z' B4 ?9 ^8 f; ]8 J4 `% N! ^
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
2 E2 w5 b7 w: e" q. o( Y, o1 H, V
* y8 H3 T" M K& a4 S p不过我们可以调用maple的命令,调用方法如下:
9 `: R, B, r; h6 d7 C: J( a
! W- O2 j- E+ w9 Zmaple(’denom(f)’) , k \, _& C: ?; u
提取分式f的分母
4 T0 d5 \& A8 k 1 ]& \ ]8 Q3 K1 ~; R* }0 n
maple(’numer(f)’)
" ]& V* i* J- r" @; S 提取分式f的分子
1 o B. C; w; A: n . k7 w8 l' C0 q4 N! Q
maple(’normal(f)’ ) ; V, V# q, f! C" h/ [. W
把分式f的分子与分母约分成最简形式
9 o6 t& U! N$ R) g
1 X9 Q6 C' o3 F/ K8 o* |/ _maple(’expand(f)’) % _4 F& N' { o8 a
把分式f的分子展开,分母不变且被看成单项。
# u9 u, V( B5 J$ l6 o/ ?) K. N
3 ~$ x2 A/ \" d: I$ A( [+ Dmaple(’factor(f)’) b' m8 q. d" G- p' Z
把分式f的分母和分子因式分解,并进行约分。
5 A6 K0 T0 L5 o e; ]( y! F5 G' o8 U
- w. ?+ M! X& y$ J4 [ N5 P* d
如何用Matlab进行因式分解
- C: @5 |3 Q' L0 {% t( ~+ ^- O2 G/ M. R+ _- \) p7 L! T8 }- T6 y
syms 表达式中包含的变量 factor(表达式) . D. J- G3 u& w5 F, a* g
1 n8 w) [3 G) I, K w 如何用Matlab展开 0 {1 W$ Q0 r* m4 z9 ^1 j* a8 _5 D
; y+ [8 U$ B: g0 p$ F8 d2 r0 \
syms 表达式中包含的变量 expand(表达式)
$ S' Y* x* \* f' T5 U: O. K1 \" F* w; A8 U# q8 L7 u2 g" g2 O% C
如何用Matlab进行化简 . ?7 g/ R/ N4 ^6 W% q
* R S( P6 d) O' c8 J9 H+ h8 u) ], h
syms 表达式中包含的变量 simplify(表达式) # D+ ~9 [% p" Z- r0 z6 l3 f
: J2 ?! X; q- X% W( T5 E4 K如何用Matlab合并同类项
, ^% S; l$ K7 D: U3 B' G& x A& J% A% q t/ ?. F
syms 表达式中包含的变量 collect(表达式,指定的变量)
. ^- _' F+ F- F- X: [9 J# \+ q2 U
* g8 a1 w) \8 |" A! I如何用Matlab进行数学式的转换 . O# o6 `: s9 R3 t% S- Z2 f* C
/ l$ D+ J) v( X3 R0 j- @$ L* d9 K
调用Maple中数学式的转换命令,调用格式如下: ( G5 U8 \7 _1 u
. O& c2 P9 s$ C0 N
maple(‘Maple的数学式转换命令’) ( n3 M, E6 R4 G- {
% ?* Q& E2 ] T4 V即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
) V+ [4 c" D) u! |# X; a9 [2 @* |' c9 e
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用)
4 Y+ B# W' P% R; M: U/ Q, H+ Q% N1 ~' [9 Q3 ~% v5 [/ l
如何用Matlab进行变量替换 ' J/ T) q. t- D T7 t6 f
9 U! @% t% V1 ?. {
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) R3 w- A0 d0 P/ }
/ R& F4 G7 e5 D, j
如何用matlab进行复数运算 9 a: Y8 ?) `; k
5 v; B% i$ T: ]1 s3 o8 G% G& Q
a+b*i 或 a +b*j & V. ^% E* d4 p, d3 A
表示复数a+bi 或 a+bj
% S$ Z- Y, l' Z3 Q3 W% `
4 T% V7 \5 Z! V6 T# d" mreal(z)
# ^, \2 y5 z6 Z8 A3 l0 ^$ s 求复数z的实部 1 B3 Q$ ^7 M) w+ m8 T
8 H k4 P4 Z# {3 f; Uimag(z)
* k2 I3 w& U5 p 求复数z的虚部 " ^7 d* ?& `* x: p5 J- ~
0 y" E E' s) \6 }/ B, y8 O% Qabs(z) o2 b$ B7 ?" S/ e; q
求复数z的模
1 |2 p( C+ V2 r+ M* }
% U* y$ G6 P# ]( I+ c5 Zangle(z) & { V7 M' y/ k) T# H
求复数z的辐角, 2 @% k4 E3 L- E! L( O
5 Z. b( Z" C- B! y: dconj(z)
4 n# a {1 Z- a; e% u 求复数z的共轭复数
* E# @' w" S2 g. J8 \+ I
! [* M2 |8 \( M$ \exp(z)
" z; h& y+ ?3 N3 a' ~. z 复数的指数函数,表示e^z
2 z& Y/ ~6 G4 M' w' U* Z$ B , E3 {6 r0 O+ Y" o( K7 Z( ?+ V
: x3 x+ u( m# J如何在matlab中表示集合
) x: H8 H# i x s4 s. i5 K* B
* n0 w3 J% j; c; K! z0 F" W[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
, |" b$ T; p. L6 ?9 z1 l+ }1 Y; u) h
) M6 S: y# h) g% ]2 K$ t, M6 ?/ Uunique(A) 表示集合A的最小等效集合(每个元素只出现一次) R2 g$ e! v9 y& O5 a
' b8 H% o1 L$ \
也可调用maple的命令,格式如下:
: z5 w( ?% L( }7 C7 D
& U! E) \# b l: {1 H, kmaple('{a, b, c,…}') 表示由a, b, c,…组成的集合 + H! N, j6 d d& u. @6 p9 x
, t4 M* c4 `! }; V& u" G' ^$ O
下列命令可以生成特殊的集合:
[+ Z4 u) J, |% t) E0 y1 A+ g8 p: d0 [
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} ! n& _) P- e: l
, _# D4 w0 Y2 v: I, r
如何用Matlab求集合的交集、并集、差集和补集 * i a1 x6 T D W% {
2 Q6 k5 V0 w/ ^, Y! c; @5 g
union(A,B)
8 c: \# U4 Z q. d: c0 R& ~ k! P3 U 求集合A和B的并集 1 V3 U N2 z3 E) b$ M# {% q* }
3 C# s& ^; d# i" S% `: f2 Kintersect(A,B)
2 _6 V# O2 \* c2 M6 R+ ^& z 求集合A和B的交集 ! Z9 o6 y7 s- x" t. ~ h
' Z4 b. c$ R# J) N8 D
setdiff(A,B)
4 I1 |9 l% {; F% @ 求集合A和B的差集A-B + I) k* b B. d) `# p- m& [
% p! x: W: W* C3 ]1 e+ U
setdiff(U,A)
" e% o% n3 l0 W' r. z: ] 求集合A关于全集U的补集
) b) Z/ h" `5 E" u
- Y5 }1 ]. C0 m4 T2 E. k5 p' f7 D( V8 \ m: ]
我们也可以调用Maple的相应功能,调用方法如下: 7 ]& L4 j3 n9 [/ m# i$ z
+ J" Q- O1 n: K# q5 O* o6 Fmaple('用Maple求集合的交集、并集、差集和补集的命令 ')
\1 F/ ~9 m3 u# d- p/ N- W8 K% q. n' e, i
具体地说,共有下列几个调用命令:
8 g( ^0 e1 e4 _$ M* a, e: k0 x1 N+ x# H
maple( 'A union B' ) 求集合A和B的并集
D3 H7 y) z/ }) P: O9 {" C/ `# T% f& S8 l' R9 [$ m7 r
maple( 'A intersect B ' ) 求集合A和B的交集
$ X T, l6 F/ e( A. N' a- ]9 D" f0 W5 I" Z
maple('A minus B ' ) 求差集A-B ; m6 }+ K/ S9 J& F+ M; S! O5 r! G+ G
. R0 e8 q2 W/ [$ @maple( '全集I minus A ' ) 求集合A关于全集I的补集 : s* A* ]8 F8 U5 r. N5 j# V; V
+ X$ C. z& i& n; a. U1 ~- J! ?8 w0 i
如何用matlab排序 + x, U- h5 {( N
9 r$ ~% J% ^1 X: o7 N$ I+ msort(v) 将向量v的元素从小到大排列(升序排列) |
|