TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple , M# f* T# Z' s! ~8 ?" w* d
) @4 W* p4 l& U2 ^4 J. O, Y
(不用安装maple软件就可调用) . l" Q) z7 `/ O
5 Q2 M! z* C; H6 v方法1:
- b6 Z9 w" |* R: U6 \2 Y+ K6 R0 ]4 B8 u% A6 w' d; Z
maple(’maplestatement’) " q; b& A' M0 u+ w# l
% }3 L% Z+ h' s S/ ]9 Q7 a其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 8 X( T2 K) Y C# ?
0 M* }$ A T0 D+ n, C- h
方法2:
" @2 c' f3 p7 J* q+ h6 J9 y
+ @& K$ k1 D" S7 B4 @- ]maple(’function’,arg1, arg2,…)
3 F/ t3 J" _; A0 t! s3 I$ v4 N9 x4 x# O' M" D# a# [
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 / v) v9 L0 v/ C9 y' y& Y
7 L# ^# c8 \! A( T3 n C( U
注:如果方法1行不通,可尝试方法2(个人经验)。 . @0 K7 B- t3 L. j! Z
6 z3 h0 E" k' R( _% D1 e. s基本代数部分
+ @5 ~+ W. O" t1 G3 i& u3 j. _3 l) G5 t$ ^4 \# g$ T; K
如何用matlab求阶乘 - ^" D q# n* N7 u4 L {
7 Z1 \; f# g R/ y8 [4 Y! q( V
factorial(n) 求n的阶乘
q. T4 U' _: _2 a2 `/ h' g3 Z4 W8 b4 |5 n+ w
如何用matlab配方
8 Y% g& E! Y& [9 j( s2 s2 M- [
0 {! u; C3 o( n, z% h) A- a没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: 6 e2 q2 J& o8 h) T
% x) e5 f# C! A/ o
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) " O, [: C5 E/ I8 ]4 ^+ K
0 Z$ g: _- f* v* c然后运行maple中的配方命令,格式为: " h+ _3 ^0 S+ \4 T+ m
. s r6 r$ _2 e) v" B
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
' ]* s& D" u6 g% O) S
" {4 `; w4 I+ v8 N1 amaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
% T& `$ n" Y" Y+ g& i
+ o0 I& B) `& v' l/ e' h7 {& l$ omaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 2 e2 ^( Q, B+ q5 b: J: p$ Q
; L/ w+ O+ V/ G8 O5 R. A. l' rmaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, 4 ~4 _7 J& z% u9 G3 m. \( g% O. m
7 o4 K& L$ H: }0 K/ h* K. J如何用matlab进行多项式运算 ( H9 P" R, E( e- T% p: } w
- d& M/ f: ?+ Z/ I, M(1) 合并同类项 : W- v; D; K$ ^! m6 T
$ d5 j, f( e% L3 _9 b- ?# b# A: Xsyms 表达式中包含的变量 collect(表达式,指定的变量) & O8 z3 E& r2 ]6 H- k
! [5 S) k' C u6 {! `% n% a
(2)因式分解
* U. X9 ]# Q, o- `5 X8 z0 \
0 t5 O( k* R2 }- Z; T; m& a8 Asyms 表达式中包含的变量 factor(表达式)
2 l( w4 B' ^) O6 I" |2 @7 h5 E3 N4 Z3 I3 C0 [3 A. f
(3)展开
4 Y, N% @9 ~9 Z; i7 |% m( h' C4 E2 y
9 w6 j6 w' g: @, Vsyms 表达式中包含的变量 expand(表达式) % B! X6 t; q: p5 T4 R# @# W0 F0 |
v/ `! {; u, Q% z# F我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: 1 L- A0 p# o3 z' ` N# r2 t
& }8 j/ I! O4 |
maple(’maple中多项式的运算命令’) / C* G- U6 l: m2 _1 e$ I
! Q3 s- R, } E8 G; D- t如何用matlab进行分式运算 0 L: k( j. c' a* N* N9 ?
& \" v" G: {: Q8 q/ j9 _发现matlab只有一条处理分式问题的命令,其使用格式如下: 4 Y- j2 j8 k( y( q2 F
& r& G- [/ V7 q: H b1 q) F[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
. C( W0 {; j. u5 N1 N4 K4 R0 ^( i, K. F( L% E/ G) Z) t! C: @; k
不过我们可以调用maple的命令,调用方法如下:
3 G7 u' y% M# A! Y) r; `0 o* @7 }% q. X
maple(’denom(f)’)
& P9 D8 k8 B5 h( ~5 D 提取分式f的分母
3 m7 |5 U, C9 G) B! W" V , e) h3 N5 \( ]1 O: g R
maple(’numer(f)’)
( H$ Q5 x1 k; d0 B3 E& B6 h 提取分式f的分子 . L& v4 C" m/ Z1 ]2 x, ]; d
0 N9 {) w5 r1 w( k
maple(’normal(f)’ )
# c: ^, }( x! Y( j 把分式f的分子与分母约分成最简形式
& q( S1 }" ~* _# W2 |$ B' }9 A' @
* b' B6 V+ J) V- r" Qmaple(’expand(f)’) , r# I7 R' u$ J6 Z! Z. k- _4 x
把分式f的分子展开,分母不变且被看成单项。
5 u1 p3 \* G% E$ n Z , K8 u/ l8 Z! m
maple(’factor(f)’)
! N3 U. V: V+ B 把分式f的分母和分子因式分解,并进行约分。/ I- C/ P' z5 F( Y: ^8 R
: S% h8 Z6 V. X& M% R: n6 z
& W0 E/ K* e8 L8 Z: D" `如何用Matlab进行因式分解
6 H- D* K' |/ e% D8 f
6 k" v; U- A Q4 Usyms 表达式中包含的变量 factor(表达式) 9 P4 c4 [, ]( s8 I9 B. y
% R7 H5 L0 m* b 如何用Matlab展开 - Y2 F* B1 V8 H) N3 Q
4 Z+ I1 Q* n6 \ k
syms 表达式中包含的变量 expand(表达式)
6 g/ {( w; l) q5 T' K2 n1 m, N) W; T W
如何用Matlab进行化简
; d/ Q' j& V2 b+ L9 ]2 C* N* r. v7 E7 L y
syms 表达式中包含的变量 simplify(表达式)
" M6 B4 @. p6 X+ c- J J, y2 x' D4 T) c/ l# d' D! f6 h
如何用Matlab合并同类项 + v# f4 I8 y* b
4 i) Q4 @* y/ K4 K. nsyms 表达式中包含的变量 collect(表达式,指定的变量) & v- a# H+ R4 k) L3 g F( a+ O
4 b7 G' h- _& a+ C6 [ W0 X/ J. b如何用Matlab进行数学式的转换
& \" o5 p4 Z7 @/ x" a! {3 d, L- R V1 V
调用Maple中数学式的转换命令,调用格式如下:
, `. E/ r M h; v% Z
. i7 K+ W3 i, \5 z: w m8 s Gmaple(‘Maple的数学式转换命令’) # D0 |$ J1 c- r& }% s u
: M; T& ?/ z% u. d* S
即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 5 K5 L1 w \, i7 W% o6 {6 }6 J+ v
; {- {7 Q: h) m* y) Rmaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 5 C( {) `$ O5 g( x
, M g0 a" l+ I" Z如何用Matlab进行变量替换 / \( Y7 _$ Z5 Y" J; s0 S
; ?9 r3 k) z9 A6 Qsyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
% {$ ^* c5 h Y ]/ {" S' {2 y' g# [, V3 y
如何用matlab进行复数运算
" ?, Q' o' U9 v( i: x0 D* Z; s" f) g3 B- W
a+b*i 或 a +b*j 1 d- c x% w2 v# K
表示复数a+bi 或 a+bj
3 C9 a3 O3 q! j
) C% ~6 K0 p4 j9 C& N! P; n0 S; @real(z) / z' W; }& c* l/ N
求复数z的实部 ; A( ^6 ^4 q* b4 t) w
- J0 Q' e0 w6 Q2 I5 ximag(z) ) f+ w/ q7 x& w- K4 I0 J
求复数z的虚部
. r2 E; a6 Z5 `' r9 _) r+ p3 B
/ f0 J2 E) |3 {0 @' O" Pabs(z)
9 B, D, h9 ]# Y% [3 g$ `/ Y 求复数z的模 4 [( X, i" ?5 m! ]- O6 @; ]! J
/ _/ r: ?; `- m( g+ b3 x6 F4 hangle(z)
( C8 {- z7 I6 u1 u U, z 求复数z的辐角,
5 K9 `" t" H7 k8 j
0 y7 W0 b6 u# b8 q! Kconj(z) ! Y( n, L2 l: c$ d- p; F
求复数z的共轭复数
4 S2 ^0 w- B4 L0 c. Q . s) j$ \; j' |3 P! ~& j( P" @2 t4 N
exp(z)
3 g& z3 j) s% @# w _" Q/ P 复数的指数函数,表示e^z
1 m7 X8 t' o. k. h
7 u- `/ u% f, z- ?3 ^2 g
1 O( w( r9 @3 z如何在matlab中表示集合 : d) ]! B3 v* q. r8 b C
9 v4 E# ~$ t) `! a% i! |[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
) ]; f1 [9 S( L, U0 G- H4 w5 c1 p& @ b1 a8 Q* ^
unique(A) 表示集合A的最小等效集合(每个元素只出现一次)
: ^) q7 d3 l5 e0 P9 ^: u7 a$ S7 ^# L& W; k9 q
也可调用maple的命令,格式如下: + T5 I* R' ] U% ~/ B& ?% B
9 d6 S0 O% `( l8 ~8 b. m- |) s
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
+ ?7 n4 d) s$ ~# f! ^4 u, @4 Z. }
下列命令可以生成特殊的集合: ! z. r5 K$ A8 m
/ m; V* q( Z% d5 E8 @ }maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} : u+ r% f8 ?& f5 t* V; ~* W( a. R
, w& z! x0 ~2 f如何用Matlab求集合的交集、并集、差集和补集 8 X/ b4 D S( @
6 |! q5 S) ?' m. b& ]) b
union(A,B) a: {( q# Q% f
求集合A和B的并集 ! a0 F1 |9 ]8 N% [: }( ?: ?
9 G( _# }4 X2 P/ O7 ]/ {) k$ \
intersect(A,B)
1 j* Z7 Q+ \5 I/ P5 W. f `9 R3 N 求集合A和B的交集
* l7 X- W* P; L5 V5 M- l5 G$ d3 j
$ [3 u# o4 N4 M) h6 qsetdiff(A,B) ) y3 R& z6 l6 t, d
求集合A和B的差集A-B - L" x0 b! o7 I( p
3 W) v8 }) N0 U$ L
setdiff(U,A) 8 f. v( ]& {- C- ^. E* r; |8 }
求集合A关于全集U的补集
: @. Y, k4 l8 g+ b! y! G! D* P, `
$ w. U: b/ \$ r }8 D
2 z, N. o- @' v我们也可以调用Maple的相应功能,调用方法如下:
. F7 z, o/ Z. N; g1 t0 y4 {2 X4 v4 m& z( Y) Q
maple('用Maple求集合的交集、并集、差集和补集的命令 ') 0 L0 F$ u; h1 F- Y$ `
/ ?3 W9 E7 ~1 Q+ b9 O具体地说,共有下列几个调用命令:
) g8 ^# k8 i; K2 \
6 y' k- S& K" B3 B# @+ Xmaple( 'A union B' ) 求集合A和B的并集
, V4 D7 X2 f+ q4 o4 }7 k% E6 e# @. `0 x9 E2 ]% g
maple( 'A intersect B ' ) 求集合A和B的交集
) h, M3 g: u- T% b/ p8 Z/ J* \
maple('A minus B ' ) 求差集A-B
: N" r7 l; }% ^
0 q, m' v, V$ a- j7 ]5 Q9 A* R' omaple( '全集I minus A ' ) 求集合A关于全集I的补集
9 f9 U( x# Z1 m5 j2 T8 Z
7 C: ^: Q$ y7 E! H4 F3 B如何用matlab排序 ; m1 ? \2 O& b" r- `, G5 l1 ~
& | Y7 S. m* L7 _0 |8 @
sort(v) 将向量v的元素从小到大排列(升序排列) |
|