TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
& q# n: O- U6 v$ v
; m( k a5 v3 }0 [(不用安装maple软件就可调用) $ @& d! g L! }2 n) b
% ^( h ~7 f9 n8 w9 V
方法1:
1 h0 T. R1 w c! S/ S+ \/ l( Q0 K* c/ q3 f k1 O
maple(’maplestatement’) 1 g+ y" z% P/ Q5 y9 {5 ~
" T/ e0 e. L4 X! y% I其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
9 [& ]0 D' a7 }( }0 X9 \0 J# l s ~; l5 l# J# k- G% b
方法2:
& j' G& V# ~8 e2 h+ K1 M& q
" I7 V& M# R d O: K- [. x: smaple(’function’,arg1, arg2,…)
* Y0 c1 Z# `1 i. I
8 q0 J/ g5 W' ~# N1 I: a其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
! U' g6 Z9 w; i3 f3 ?4 R& j' v4 r# y. c! f
注:如果方法1行不通,可尝试方法2(个人经验)。 9 N* ?6 e, Z* h2 p7 X
; O1 J" a" r6 W- `基本代数部分 ; @0 H2 t7 e$ |. G$ y$ T
8 d6 H. P/ }" d. N如何用matlab求阶乘
8 u& t# N0 H7 d3 L8 m$ P
P i8 g+ G% Pfactorial(n) 求n的阶乘
2 S& L# D2 ` T
" ?. a/ [9 T8 r9 M2 j' D9 G如何用matlab配方 2 ?9 p) \* [3 B* s6 t% a
0 k8 x; Z4 c3 e/ R# a$ Y* z4 `4 Z
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: - P, Z( B3 [5 c- K+ O6 }
m& c/ b. S# S/ V% l首先加载maple中的student函数库,加载方法为:maple(’with(student)’) 9 T, r. g' R8 I3 K+ y- [
! b3 F! {; W! p) E
然后运行maple中的配方命令,格式为: 4 P6 G; s% l# ^0 q$ S& D. [2 c
8 ~7 M" `6 H; k, W( Q4 w/ b% H0 }
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
4 C+ u# M N6 ]0 ` N
0 _1 B4 k0 F/ ]. Zmaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
3 S* u" D/ H6 k) H& b% l& \+ u& a4 Y4 @) ]5 H3 L3 \% e- R: N+ O
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
1 s3 \, |3 B2 J- l% D
1 P2 t7 o" f6 Q- L+ i2 Gmaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, & s- W6 v2 W+ H. X' f$ ^
& [' P$ Z7 {3 y* T }1 a6 `如何用matlab进行多项式运算 1 R' P1 B* U4 z7 u8 m' a& q
4 V0 R9 n: Z2 ]: d- _; R; v
(1) 合并同类项 3 B. q* P8 n% v, w, f2 M
% p/ B! \' |" v8 D
syms 表达式中包含的变量 collect(表达式,指定的变量) - h1 D4 J- B4 z1 Z0 U4 k) U. N: ?
* C1 p4 d, E9 L0 Q2 l(2)因式分解 : ?2 i! {& J0 {. i8 L
, {0 n& E5 d& P( a
syms 表达式中包含的变量 factor(表达式) ; p( `7 s7 _8 O6 p- a8 Q& I H
' B7 g: U' [" s" ?(3)展开 ' v% H) C% A! M2 A5 f- p* n5 V7 H/ K
2 y1 M1 _8 X, J0 N+ Esyms 表达式中包含的变量 expand(表达式) 4 q9 v/ R/ ?3 p
, L! u- m! K+ O- i我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
+ N5 o6 T% a( ?* C
% }; {: P' ?" z2 @2 y" f, e: ` maple(’maple中多项式的运算命令’) 1 |% m7 y5 ?* @
, _6 d1 y9 P1 b) v% t
如何用matlab进行分式运算 7 F# U$ M2 U) V ]
7 p% V6 d- L0 u* W5 F; i9 c发现matlab只有一条处理分式问题的命令,其使用格式如下: & s3 Q3 ]5 G& \1 O2 p
1 d0 f1 v/ H2 D
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
! ]3 j4 C/ o7 ?& w V. \0 Z* T1 f+ y- z9 j- B7 z7 _! F
不过我们可以调用maple的命令,调用方法如下: $ u9 H+ @: j* }
* J6 E( P1 V3 c( Z9 H' u6 x A- Emaple(’denom(f)’)
- F! R( W- p3 y& Y9 Y8 x 提取分式f的分母
+ G" p! R1 ^) ^$ G7 a
6 V! I) l3 d7 o5 `. Q6 `maple(’numer(f)’)
) i/ |) O1 i: }+ v1 j4 p 提取分式f的分子
4 h8 s. f) ~' T0 k
0 V6 W( M+ Q2 u2 Xmaple(’normal(f)’ ) 9 ]8 p& b5 z- h$ C
把分式f的分子与分母约分成最简形式
' `% F3 c$ @7 B# K2 ^ ; o; c/ X! L/ a% M+ O
maple(’expand(f)’) 4 Z3 {3 d" s( _/ X# J; N/ d; N% }
把分式f的分子展开,分母不变且被看成单项。 ! N: U5 K& m" ~1 h
( ~) l2 i6 V+ v; Gmaple(’factor(f)’)
8 @1 l8 [5 e8 }0 {8 P) I4 H8 R! ^+ s0 M 把分式f的分母和分子因式分解,并进行约分。
" A1 M6 ^$ ] I8 U$ [
, z4 [" f d% |) q3 I, Y8 X
( W' Q0 M( p# s% p如何用Matlab进行因式分解
6 p9 Z3 {$ V) _0 \( S- i5 W. l
syms 表达式中包含的变量 factor(表达式)
* }8 ~6 T8 M& D4 I8 G
* r( a7 |5 s9 x8 x# [- T1 v% I) z! ^ 如何用Matlab展开 * Z2 I3 q9 ~0 f9 F
& X1 O" ]) u' A( t! @syms 表达式中包含的变量 expand(表达式)
@/ x7 y' U; T' i; H4 _* |1 T* s* X+ V0 V
如何用Matlab进行化简
: U' P. O! ~9 p
$ s7 A- Y, K1 v! k) y' Isyms 表达式中包含的变量 simplify(表达式)
% P9 u8 q5 ?6 c& |
, d6 ?) j3 b* T8 I如何用Matlab合并同类项
: w( D' w' @# u4 t( G5 \
2 J6 a1 H2 j5 x1 Nsyms 表达式中包含的变量 collect(表达式,指定的变量) ( J3 L5 K2 O* Q$ T A
3 ^2 D+ Y4 L4 e& \0 J$ Z- w如何用Matlab进行数学式的转换 ) i% I% u& K, c2 p
' E; b' C4 F- G. y$ ^7 J* d, d/ s
调用Maple中数学式的转换命令,调用格式如下: 4 ]+ d' r" [2 i- D1 P1 m5 M5 k
: ~) L& W2 ^7 ~! D
maple(‘Maple的数学式转换命令’)
2 B. U4 [; ?5 B2 |# S0 _
3 H; |. l# L( `% S即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
: I& c2 _ a/ ^/ E
, h; I2 d8 I' d. |, \& | umaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 1 \! @$ H& ?4 ]# ]1 N' h3 T: s1 F
4 f3 Q! V8 z, D- R3 ~0 ?2 j- D# G# }如何用Matlab进行变量替换
! C1 Y/ U, ~3 _; |5 M7 ~
- h1 h. z" f8 j6 E$ R Esyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
n8 ^* A! Q& i7 X% E
, J$ y4 s r0 V& B( k4 j+ P4 V1 N 如何用matlab进行复数运算 - }- @ m* ^- a6 |& H
5 Y/ | T0 j* R; A9 P* }1 J- o- Z D
a+b*i 或 a +b*j 1 {6 W# a8 ?+ C# j5 ?
表示复数a+bi 或 a+bj
* d! t& |4 [5 S! m * ^' f% _1 R& U2 V: j5 ~
real(z) 6 c/ G0 O: q) `. W, X, q7 d9 v
求复数z的实部 & E6 X0 d& H$ p
; G7 u4 |6 P; w# _/ _
imag(z)
9 n4 K, T4 `; b+ d. h 求复数z的虚部 5 Q) o3 v3 T1 U3 l
$ I J5 p6 y7 V3 Uabs(z) + q! N' A2 u* Q
求复数z的模
9 T% X4 Q0 [- J# F$ C 0 ~$ a* M0 e' O. l6 i% B5 E
angle(z) ) z) \1 k5 p( `
求复数z的辐角, # j& w6 I! }( m
- x: P& R# G6 b3 _& S( J0 xconj(z)
& A I) }- Y' H t" { 求复数z的共轭复数
+ H. u- c1 s% J5 T5 D* w# G : F1 A7 t4 S) p+ i$ Z* i
exp(z) * Q Y* g1 \* k0 B+ c
复数的指数函数,表示e^z" H9 e$ Z# B9 I( d
w, r( L% m7 t, N
0 V- R, e( m- K2 d4 s如何在matlab中表示集合
5 H8 G6 \+ s$ a0 c
7 j$ a8 u+ g$ j8 |% q$ g4 J[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) + Y% I/ m1 i- Y' c! I
( E$ {1 ^ R4 X6 a$ V
unique(A) 表示集合A的最小等效集合(每个元素只出现一次)
0 a% Q% ~% P( X' Y. b& y) o' p4 [3 a
也可调用maple的命令,格式如下: ; P' v! V. y* J% E
+ p! S$ p' F; z1 ~8 t$ A
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合 * z5 n* o7 e. K
& i4 m5 g1 \9 I+ I7 |下列命令可以生成特殊的集合: 1 E$ P( J y5 F5 u* T
% T$ t. Q% M% ]. R1 w: b. i; O% _
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
7 E2 j% ~( {/ D& @$ `0 r2 `% O# @- ~1 S% @
如何用Matlab求集合的交集、并集、差集和补集 : B: ?! a8 D# h
0 M: u) g( k0 b$ t
union(A,B) : }! ]- p$ e3 K0 S! @
求集合A和B的并集
$ A, }$ m2 s0 r) h+ Z/ L7 r
# U0 B: n6 A% x" l, K: _, S) Dintersect(A,B)
( b* Z9 h3 Q9 r6 H4 b( I 求集合A和B的交集 }5 |$ ~& @* ]- ]% o3 g
" B) W( P; F, j) dsetdiff(A,B)
! D3 D5 p2 g0 P3 j5 t 求集合A和B的差集A-B / [9 x2 H; W; I5 f! E# T
( ?, [, @$ K. J7 k3 {
setdiff(U,A) ) r- B* t, Y$ G. _ s# z
求集合A关于全集U的补集
& p, h5 W6 N4 u- j `; O" e, Z4 \
$ M) K% r: a' i* j3 c2 Z& \
我们也可以调用Maple的相应功能,调用方法如下:
1 L% Z9 j" l9 f( `8 O- g: e3 M* ~' J7 [- Y8 g
maple('用Maple求集合的交集、并集、差集和补集的命令 ')
+ V/ ~) I+ {/ E. Y/ W# I' r& M% [; l* A0 U ?+ q7 Q- B1 I! b
具体地说,共有下列几个调用命令:
% w$ {7 p6 B- n8 N
6 \" H, _: I/ Q) Q. n. n( ymaple( 'A union B' ) 求集合A和B的并集 " W& e# q6 ^9 D
: z/ w) J3 k# r! h; Lmaple( 'A intersect B ' ) 求集合A和B的交集 8 u% h/ l9 n/ {% ?! t9 O
9 {/ E2 R$ ^* O6 V) lmaple('A minus B ' ) 求差集A-B
; h4 a5 a0 V" E( D7 V
2 z7 H: M$ [5 F0 b; U8 Nmaple( '全集I minus A ' ) 求集合A关于全集I的补集
- m* f( ~% d( J2 I5 A0 o# ]3 ~9 d' g( ~+ [. s8 u4 {
如何用matlab排序
- C0 t2 d, L& W$ {- T2 a+ f2 u2 D$ ?) X7 O! r# w Q, D
sort(v) 将向量v的元素从小到大排列(升序排列) |
|