TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
% s" A- e1 r' D+ R
6 G! [' i7 p. M$ L& }# d(不用安装maple软件就可调用) % r& M9 e* m8 D6 s9 _4 J
5 U, |6 p2 _" U1 U方法1:
; {* f: [* e" O) }6 d ~: b* _( y5 w. G @9 ^8 c( u1 {, t& \$ ~1 }
maple(’maplestatement’) & O- P1 ^: p0 I7 J
) p* P3 @. {% H7 d
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 & B7 n1 U( l- O8 E
9 w+ x8 C- {- p方法2: 1 V4 I( Y$ U' E- C4 v% ^3 h* B4 J$ E
8 z! {6 X. m, T( ~" D6 S% t
maple(’function’,arg1, arg2,…)
5 f, S. K% O X6 _; x# P' L+ u2 K$ |
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 3 i" x! [# S+ h
6 q: T* M! J$ t% k( {& A
注:如果方法1行不通,可尝试方法2(个人经验)。 9 u, ~) d6 x9 p- J
& ^3 Z$ u" a2 d8 z# c. \. P% v, B基本代数部分 1 w) q* j8 O9 }& a- q
+ M" }7 b6 A0 Z如何用matlab求阶乘
# T; h! d* n0 ?' Z% L' T
2 q+ u; q0 J8 L2 m% Pfactorial(n) 求n的阶乘
" w R/ B. M j2 x1 k8 q5 `3 d$ {
如何用matlab配方 . q- J# N/ x( {( ~" \" g
" E0 V2 ^' Y) H3 M: w: z+ \
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
* d- s' |3 _# J9 s4 Q
+ a" V+ D. I- J* z首先加载maple中的student函数库,加载方法为:maple(’with(student)’) & Q, r4 u. S& R- x6 f
! Q- | e e( B4 D& L7 ]
然后运行maple中的配方命令,格式为: 3 Z9 E% _- W, ?( G; }# K
. p$ n% ^2 m7 y7 T5 G- _% o Rmaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
4 @; O6 a$ e0 M; H. [3 X1 ~0 J1 _* j+ R/ D! J* [4 s" \# C- h) k# p
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 3 J2 P+ y/ |7 K( B# u; n
% E0 q# c( T- `maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 ( d2 g* \2 v- ]
s/ v$ `) ]6 B; S- |
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
) M- Y$ J6 N2 i# u2 d1 p9 u
1 S2 e' U! G+ E% b如何用matlab进行多项式运算 5 j) [. K: {, K' b& y2 n5 e
" Z2 M; K% Z' n* j S V(1) 合并同类项
, U0 y# a5 W9 O3 m# ]
: X! s3 u# a; z+ G5 Xsyms 表达式中包含的变量 collect(表达式,指定的变量)
' \/ {$ I$ h/ u( y s* U1 ~* p
r" F) l: l) ~& A& b+ ^. w(2)因式分解
5 f& H4 c( C7 H
- Q* [$ u- {) ~) Ksyms 表达式中包含的变量 factor(表达式)
0 v: [0 ?! W9 P# ]
) y* p) C7 H R0 H) Q- J' r(3)展开
! e4 T! e5 x( ^ E4 R9 g+ S: r! Z2 N G* B2 w/ A
syms 表达式中包含的变量 expand(表达式)
3 b+ R f3 K* X5 u$ @4 O4 I: ?0 A
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: 1 D/ p$ S6 p0 } u
$ c3 \6 |8 L3 Q$ u1 L
maple(’maple中多项式的运算命令’) 7 Q! h: h6 O0 ~ G5 m; [
5 a- k5 u7 n) D8 L1 h如何用matlab进行分式运算 , ^6 @& ?1 ~2 @# r, \
. x1 |1 @% Q$ Y4 z8 Z
发现matlab只有一条处理分式问题的命令,其使用格式如下: ! {0 y' J0 D' U) c6 T
7 j; I0 o! K9 R) \" b& l3 z6 Q) m[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 * U% `8 n+ C1 a, W! o Z6 E0 N
0 x1 M# K4 s0 |( b% d: I; }不过我们可以调用maple的命令,调用方法如下:
U9 H6 b* C& e: ^% F. ~) W( x0 h
3 {' n* z/ i; i, N8 u0 Z9 R1 } \' s' Cmaple(’denom(f)’) : x) B$ d4 K" Q
提取分式f的分母 ( b, e) G8 F! l" V
' `6 j! U; n$ w1 D1 [. i$ x
maple(’numer(f)’) 2 X" \2 n7 L- P
提取分式f的分子
: u4 }. b5 s! k4 I* _
& N" i, P/ r' G6 M# Hmaple(’normal(f)’ ) 0 V; Z0 [5 b0 ~7 `* j
把分式f的分子与分母约分成最简形式 3 S1 ?1 G* ]; Y- I
4 y3 q0 O3 Q; U9 }
maple(’expand(f)’)
+ l, ^# i, ]5 b, B" ]% s 把分式f的分子展开,分母不变且被看成单项。 , U- a4 n, C; s/ s. I3 I' i- Q
* u' r3 i; V8 P2 M+ F) ?& f
maple(’factor(f)’)
" y1 @) k8 n: Y7 @ 把分式f的分母和分子因式分解,并进行约分。
) }# h# x5 A9 A' ?. S 9 S* T8 n$ s9 b9 P$ X' [8 Y: S* N
& w- K9 Q/ t: H如何用Matlab进行因式分解
5 r& N; h) q( W- |" s, U4 _& F V. T
syms 表达式中包含的变量 factor(表达式)
h" Y: L8 }, y% F9 X6 F, ?
9 v! V- @5 ~% r% m% @" D( u% ^ 如何用Matlab展开 5 K" R$ F9 r z% P
+ v7 K* j$ U% O2 v; V. v
syms 表达式中包含的变量 expand(表达式) " Y) I! h' W( {: S. { s. u) n
3 b; B& z+ z0 W* h$ Y$ ^" |
如何用Matlab进行化简 1 `. g- E9 Z2 j" A R% o" v
. X7 j3 M! ~5 ^/ ~& c, w; {" usyms 表达式中包含的变量 simplify(表达式)
0 a% P4 j0 ?4 ?) A) x0 k0 w8 Y6 o' `! \# T
如何用Matlab合并同类项 . d! O( E% e& G3 J1 H+ f0 c" ]
! p4 Y2 a! ~9 E6 ^1 m
syms 表达式中包含的变量 collect(表达式,指定的变量) * H! F+ _! a1 R I, [* e' w9 z
" \; q+ t" f. y" W& j E
如何用Matlab进行数学式的转换 0 `" b- _1 b R' ~
: ?+ r# j0 s. V/ ]& m
调用Maple中数学式的转换命令,调用格式如下: 1 _& o! Q5 f- F4 ^; J
. x: [' [4 N- fmaple(‘Maple的数学式转换命令’) . n* ^/ Q# m: i% P/ }: J
4 q0 N2 ]7 a5 s. M/ S; m# ^即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
- T( c# Z3 P( `4 W p- g, W
9 a- T: K" O' `1 E9 Y# L5 Kmaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) " s, o1 t6 q) ]" q( N
/ W% H0 t# f3 I. F
如何用Matlab进行变量替换 " i% Z* i. [& x" Q
+ B# j/ z. e* {4 ssyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
, p/ C" O3 }3 h; A6 f* Y% z0 y0 Z, z# @9 U8 v; `6 N$ n
如何用matlab进行复数运算 ' o0 H I4 ]. P7 y
1 W- {8 D* g0 J6 u9 z3 n' B
a+b*i 或 a +b*j $ b7 X8 A9 r: t! m: u4 c
表示复数a+bi 或 a+bj . L. L k5 R& `7 g {+ ^* O9 D
~' G1 H8 |: x# U0 k
real(z) 2 Y$ U1 |3 o/ U, k& z e* f. c
求复数z的实部 ( p% o0 A g7 W6 x) T+ }. r* R
) I2 m/ [! L \( F/ u1 D( G
imag(z)
/ |/ V/ A+ }) j3 H) U! H- f 求复数z的虚部
1 j% g: o9 d3 W( z3 J) C 8 p& C- [7 e0 S. O# T& I4 u
abs(z)
& v- u2 ` \1 _! s( E" K 求复数z的模
( y2 O$ r* a) i$ C8 K- }1 p 3 X/ O" j! D( T' E
angle(z)
" V& [& I* h9 M0 z( h 求复数z的辐角,
) U0 q/ J+ ]& Q$ B! K 5 o5 K. ]# ?* |5 [
conj(z) 8 d% m# r) v' W) ~/ C; R9 E9 ]. \
求复数z的共轭复数 % s$ }: ]' \5 M- e% r- `$ W/ }
; Z6 ?# F0 @# d* }
exp(z) , m+ p" O ? R! J: W
复数的指数函数,表示e^z) ?' l5 i+ I" \# ~% r) e
0 [$ [% |9 }+ N. j6 h4 u+ g* q$ u7 g9 w$ e; T) P1 P3 @ j: p
如何在matlab中表示集合 - i; S B- K0 ? H3 I) N& [
, I$ s+ D7 L8 J[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
7 l3 S4 k8 u0 O5 v# T5 J/ t7 d
d {8 q0 G% d1 B g3 j" z7 X7 Xunique(A) 表示集合A的最小等效集合(每个元素只出现一次) " O0 ?5 o. j" }8 |* _
N. L; h: `9 }( A也可调用maple的命令,格式如下:
% A- w! m; m) L* L- l l b- V+ e/ [8 {9 H6 f3 g
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合 8 O9 ~4 u; f& h: K4 {) B
' n6 n+ r# ^2 V
下列命令可以生成特殊的集合:
2 l" O, [; r, b* v2 g* g
" s' m* t' j# V Wmaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} 1 V+ E: Z7 B, q' t4 h) A# o
* u8 ?* g- f) e1 ~, \4 _+ @8 f
如何用Matlab求集合的交集、并集、差集和补集 $ j* _$ i! j! A" ]% ~' }: ~2 ~6 [
- ?, p8 V$ C) ^& ]. lunion(A,B)
2 V( W% i3 Q2 j y! n* M 求集合A和B的并集
. d' i+ ^) w1 V: r4 d 9 D2 b9 I1 j; c4 U/ W8 ^: V
intersect(A,B)
$ _' P- U' q: G' y 求集合A和B的交集 " g. X5 _. X6 u( J, v$ E: j5 I
4 K. Y3 ~) j8 K2 v- y: f: g
setdiff(A,B) ! R A" I- d5 E8 t% W1 E( v5 Q
求集合A和B的差集A-B
! v+ Z5 x. p& {+ M# h* v7 C
$ ~5 }0 {! j& q: K) ssetdiff(U,A)
$ w* n- c/ M% v& R 求集合A关于全集U的补集
; ~* t+ J) G1 m; K- a
4 q( W6 T1 p: T9 B# s1 O5 f* s+ j& y. b' M/ q9 t
我们也可以调用Maple的相应功能,调用方法如下:
Q2 S% [ p3 z% g7 |% U- ^ V; s. H: E
maple('用Maple求集合的交集、并集、差集和补集的命令 ')
" b: Z: K' ] t, b9 u0 A, _, S" z0 i
具体地说,共有下列几个调用命令: & b. f& ^9 ?" [' b7 o% s8 R" @
( I# z8 k7 g1 R- `maple( 'A union B' ) 求集合A和B的并集
9 P% c7 S: ~+ C/ a
/ x0 }' h/ @& P) W ^maple( 'A intersect B ' ) 求集合A和B的交集
( _: V3 c' H+ u" T( ?. x
' P! m& U+ I3 ^7 D; {# t& xmaple('A minus B ' ) 求差集A-B ! W4 R6 L2 A! M+ m: h3 x! B' E
a3 a0 |% Z' l/ `5 n
maple( '全集I minus A ' ) 求集合A关于全集I的补集
3 P+ f# S# r1 j/ b8 g0 I: I: [8 e! ? G0 k) {3 v
如何用matlab排序
% E; R1 T1 d& K n F6 P' \7 X$ W) }, u3 g
sort(v) 将向量v的元素从小到大排列(升序排列) |
|