TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
+ h. a' g2 J( w$ _6 ]3 f/ J% M$ R# P1 R: a
(不用安装maple软件就可调用)
% n; T$ o$ t! J' n
: o: y# W; @1 i# ~& h+ W" C7 E方法1: " M+ o. }) h" v
0 x0 g! O3 \+ `; _9 X" M
maple(’maplestatement’) 7 d7 H0 {+ F' U+ k# D
. z) }! n e& b8 C) q
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
- G7 Q1 T* o5 f! ~4 l1 f ]2 h) d" `6 g9 h( @! S: d
方法2: 0 l+ X C/ @* E, G( {
3 k1 k& R& ]+ F2 h& G* Bmaple(’function’,arg1, arg2,…) e* O5 _9 {1 o k# ]2 E
. q0 d9 G: |; ^1 ` z8 M
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 5 N C, t% j N8 G1 y
% b0 \/ ~' s! B0 B: i注:如果方法1行不通,可尝试方法2(个人经验)。 % ~( m0 t7 u. L" I$ Y; N
' }# o- L; S* c4 _$ t- y
基本代数部分 1 h8 r6 ^9 n+ h8 w- r
7 f* L# p ]) O/ B/ R
如何用matlab求阶乘
. b" X; M+ q8 `$ y l( I2 G e. \" r9 E+ t5 j6 {* [
factorial(n) 求n的阶乘 ; Q/ \: V+ P4 Y# C9 P1 B5 V6 q
2 r0 B$ a, S1 g5 g& t4 b
如何用matlab配方 % l+ q" p+ s5 f" C0 F. I" h
; [7 w2 {" L! r$ m7 [9 Q/ L) o
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
4 X; M5 ^" [9 s3 E. A K
b" I7 e/ U! g# R2 i% d6 A# }: J9 V首先加载maple中的student函数库,加载方法为:maple(’with(student)’) : l1 N# D; |" \3 o5 ^. C
! K4 l- D$ G6 F0 i! q! z* b7 p然后运行maple中的配方命令,格式为: . S+ G' y, b! f" I4 y' A
I$ w1 J+ q5 @3 r4 Y5 kmaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 0 O; k' H H B+ q7 B# H) V
' q! ~. v% a+ l7 ?. `/ ^
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 , Y* s8 a4 F. ]; ?( A2 j6 e5 d5 a
# G: n N1 G5 zmaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 ! F+ |. O5 k1 L& u
4 G9 p% Z) K* C- [# v( f$ V. [maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, 8 ~1 a3 I* z" k& j& o
1 t Y0 Q/ i/ J, K如何用matlab进行多项式运算 8 I) M# k# C( d; @" ^7 m* G
5 o& Q- C8 G" @! ](1) 合并同类项 " @* n. C ], g* @
+ L! a: [. X8 C3 Q" U9 A0 ]7 Q$ @
syms 表达式中包含的变量 collect(表达式,指定的变量)
* g) c; y% F0 I, L/ l1 J
' u/ E/ N' K- Z: M/ H3 ]" u/ B' N(2)因式分解
U. k: e" }7 D& c6 [+ R1 ]* l. w$ ?! f0 L5 F( X0 k
syms 表达式中包含的变量 factor(表达式)
" }0 B. w9 Z$ K! c) |+ Z; T: l# Q* s `( e$ T
(3)展开 9 j. ]5 l& X4 p' R6 x
/ l9 L3 d, _* d) x2 Wsyms 表达式中包含的变量 expand(表达式) 5 A" ]6 z9 M" e/ x3 i- p4 i' i/ X
& e( N; X6 w- N: m/ t- `) z我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: 0 D9 N. n2 O! v2 ?" Q4 N3 z6 c0 R
. U$ |9 o5 Q2 w' ?5 ]6 S- I maple(’maple中多项式的运算命令’)
% V5 A& m# Y. c! r
6 e4 l0 t( `6 p6 O( R5 u如何用matlab进行分式运算
5 } P7 J& o1 a# r+ s, ?& ?5 [" n* N! D. {
发现matlab只有一条处理分式问题的命令,其使用格式如下:
/ j# n4 y% p) x" f0 D7 b# k, ~' i& _) X9 K7 h/ g, w
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
7 l! \0 B' s6 a; T6 ?4 {# w' V/ K+ F( ^
不过我们可以调用maple的命令,调用方法如下: ! x2 ~ h/ o1 x
- L8 @; z: } W2 _maple(’denom(f)’)
0 H- Y4 G9 Q- T9 ]4 w 提取分式f的分母
1 @9 g8 Y( g8 ?/ y3 [5 j4 m. e
* D$ O" H- [8 J$ v5 ]8 Umaple(’numer(f)’)
4 y! G! u) M. C! W8 W) S 提取分式f的分子
! b' D! \! S/ J* X2 ~ , F. j) B4 p% U, p. S& T
maple(’normal(f)’ )
# J; P7 Q S# `3 H1 f 把分式f的分子与分母约分成最简形式
4 L) G5 y" A A8 o3 |
% U K! V# w+ D7 { Imaple(’expand(f)’)
1 s) b& ^0 @" m- H 把分式f的分子展开,分母不变且被看成单项。 8 g# `' K+ B1 _# C, @' u: \
) v' R3 o( m" x$ g( {maple(’factor(f)’)
8 O6 \; D7 R" L, w1 L 把分式f的分母和分子因式分解,并进行约分。
1 {3 U; e5 e$ ^2 Y3 V% f5 s6 b 4 _- {; `% o8 c2 B+ j/ y
' c s) Y+ W. _( ~- H: t0 C
如何用Matlab进行因式分解
8 k0 [+ ~6 R" w5 V% l; o A$ X9 N5 J/ x' u4 S/ V
syms 表达式中包含的变量 factor(表达式) & G" Z! D4 S. ]' W% ~. d$ T! p: U
v$ Q2 W6 i$ u: k2 j$ { 如何用Matlab展开
& W |9 X4 [* e! {% o `+ L7 i6 U
- g6 V7 y4 J/ D5 fsyms 表达式中包含的变量 expand(表达式)
9 D7 R. u% {. S7 U& T
/ S0 n8 E6 S, ]: A; t- d2 ? 如何用Matlab进行化简 5 [: A. ^: J/ I1 t% F' G! a
9 I& @7 \& {: t# e+ q
syms 表达式中包含的变量 simplify(表达式) 1 b a% `1 p% u- K
' l- b9 n* g6 M/ h0 W$ x
如何用Matlab合并同类项
3 K" E4 K: H. W& M( \# ]$ C+ w) y9 b7 [1 C
syms 表达式中包含的变量 collect(表达式,指定的变量)
+ U, |! l! [' X
, y" ]* y* a) y. n/ }; B如何用Matlab进行数学式的转换 ( U- N9 N5 _8 C$ k1 c4 J
8 g9 \: j0 I: z" j7 r: U
调用Maple中数学式的转换命令,调用格式如下: 1 g3 G0 ?) _( |' k
/ s8 _2 `2 F4 A K$ {; E' J& q0 Cmaple(‘Maple的数学式转换命令’) % d2 P' | G8 V* s& U
% z+ w' F; C1 Z/ ~9 v# t
即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
3 f+ _7 A2 J& w$ c: U5 n W/ P
8 J) a2 x5 r1 x/ {# d3 W9 X8 \maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用)
1 L/ M# _$ G+ C3 \% S1 j; \. G$ ]1 r, Y+ v" Z; Q. X
如何用Matlab进行变量替换 ( M4 ^: w$ `9 d( O& s% ^/ Z
% \& l" W% g- y+ usyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) * w0 e. d/ p; z
# I; I. x- [( w3 S5 b4 L- [2 Q 如何用matlab进行复数运算 0 c) @. @ v6 H5 l( o6 Y
# s$ ~2 ?0 A8 N
a+b*i 或 a +b*j ( I+ D% J' ?: S: k
表示复数a+bi 或 a+bj
1 K2 D# c% h6 D7 X
6 {; q" B6 W! J! ~0 y; h" p) Greal(z)
: ^ A n5 k, U9 r" ~, P 求复数z的实部 9 q. w7 q( f$ J* C
. m8 G& u8 H M2 [
imag(z)
9 A& p) h/ H4 e$ @3 o 求复数z的虚部
* R$ z$ z6 ?5 S* H" {$ U $ B2 M6 y; X3 N, i2 r1 y7 L
abs(z)
: G: r/ B4 x7 P8 q, o2 I4 d 求复数z的模 $ E$ w. `5 a8 H \6 Q8 x
1 l/ Q0 a3 _1 h8 t7 hangle(z) # Q7 G1 A" Y6 z5 T
求复数z的辐角, S' w, i- g1 N7 }5 y! B% E7 P
; C5 F% y8 Y% @conj(z) " Z5 H9 `; s: s- [- _) b
求复数z的共轭复数
. e5 H. [( n" }" s * u: Q% w, Z4 Q
exp(z) # Y! k) N, E! C/ b9 T! v& k# D
复数的指数函数,表示e^z& {( [+ R6 M9 W6 c* u" m7 r$ {5 [
" P4 V* P( {) n8 K' |
Y- J) a, W( Z3 L1 G' @$ t
如何在matlab中表示集合 , }4 w. m1 d/ X, ?4 y( c
2 ]) L/ P- @( r; B1 B
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) - j/ V M, i* E1 q' I
0 r9 ~7 O0 ~" w- m2 C/ h7 h% R
unique(A) 表示集合A的最小等效集合(每个元素只出现一次)
7 z- u% P! I6 W; s- e9 _# @7 g
: f( k5 Z u& ~$ [1 j7 b5 r也可调用maple的命令,格式如下: ' t: {2 T# w2 u; g# v. y
6 \- C8 E( y" y" R# F d
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合 1 u% M# P1 A) e# @
2 l1 g3 ]+ g4 j
下列命令可以生成特殊的集合: - Z+ g1 O) V1 X* g" n* p' m( D" L0 S
) L% s$ H3 x8 t- g0 i" O' e
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} 0 K6 r& ~' a3 z& C: }' L) y9 U+ N
% u% S0 \1 v6 W$ f如何用Matlab求集合的交集、并集、差集和补集 ; P+ k9 D8 h% m, B
8 Q. {5 Q# I9 Punion(A,B)
4 l3 f8 k. l& I# a7 u8 B 求集合A和B的并集 3 z5 }6 e4 x( T3 ]; H* y9 H
0 F( w( m( D# _. X3 u, ^
intersect(A,B)
5 @' a M |# J; W W 求集合A和B的交集
; w9 o% e. D3 T a4 n5 u: J& q" b
9 W3 H( _, U4 E' ^ Y% C1 msetdiff(A,B) . X. q( v* U4 W) {. s2 C6 U
求集合A和B的差集A-B & s1 _8 b% b$ J4 _7 s
2 J( b7 H% T O y. P$ hsetdiff(U,A) 2 I Z# |3 N. c P0 L
求集合A关于全集U的补集. b) j8 t7 V3 P9 _2 i
& q. ?3 i, e$ K: L4 Z+ N5 Q6 G1 y% m
我们也可以调用Maple的相应功能,调用方法如下: 8 Q7 I( g* |" G+ j
0 L |* g6 \5 y9 [ j( Smaple('用Maple求集合的交集、并集、差集和补集的命令 ')
) ^; I m5 x( ^- A' N! p1 k: v0 S! a4 l: L: q
具体地说,共有下列几个调用命令: ) x# r' T& c/ d$ S. \
5 L% R9 y8 d$ u) f4 A5 dmaple( 'A union B' ) 求集合A和B的并集 - F" A) Q' P, O. R+ ]/ m6 P2 m
( J4 V8 }, ^& e, lmaple( 'A intersect B ' ) 求集合A和B的交集 7 ?+ N, H8 A" {/ j/ t
$ s5 f5 i& ~: h. `7 |0 y
maple('A minus B ' ) 求差集A-B - o7 X6 c1 N1 L8 M$ g
4 P6 [" L* y6 s& |& W) r* B `% smaple( '全集I minus A ' ) 求集合A关于全集I的补集
2 {) |9 ?- ~( Z( I' [+ P; _. L% ?4 D6 i4 u8 B7 P/ G4 {! A, s3 e; W
如何用matlab排序 2 [* Q, {1 l! u% ^) i6 t
% K+ h. V. b) U) h5 [sort(v) 将向量v的元素从小到大排列(升序排列) |
|