TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple / G9 ?1 ~# G( ^) i d+ N
6 c2 l" V. q% m/ t* ?; \" _ w
(不用安装maple软件就可调用) 5 m9 L- W- ~1 B9 }, N3 k8 p
9 Q+ R2 I* r! g4 }$ V6 q
方法1: 4 G$ u0 A$ |4 g5 {
9 w% v6 ~2 Y B7 _6 p- |# D2 a; amaple(’maplestatement’) ' c: j/ O1 r) Y! t1 @, C3 a
( C( u4 r; g. i7 d$ O其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
9 j* G' L( m1 ~
: K/ L4 h4 p3 e& t+ x方法2: . S# E) p' x P! h9 [! b% z
, T8 A& Z( L5 a- }maple(’function’,arg1, arg2,…)
( K2 v; W: j$ ?9 O
# q( v8 s, W: K: S& ~3 h" s" `: S其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 8 a" X( @" B, r! u& b- a$ w! P' K
7 @7 u- X( u5 U注:如果方法1行不通,可尝试方法2(个人经验)。 8 c" u h" l5 ^8 n
/ b7 F0 p4 _9 o8 v: |! Q基本代数部分 6 Q5 x% ]% X% d3 j
) ]$ @' Z, u t
如何用matlab求阶乘 5 q6 k$ Q* h* }; b3 f9 o( ^
! c" |* L" D0 K _ i4 Q: Jfactorial(n) 求n的阶乘
6 m! e4 r4 e" W4 B( `1 h
7 b m$ Q% Q2 X2 ^1 N如何用matlab配方
3 ~8 l G9 a% R/ t% V5 {2 X+ s+ q: E4 S; D/ w
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: 1 I7 h5 N. q: T0 g* d6 ~
. {( T( P$ J7 I- y3 ?) _" p* O- e9 y
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) 0 }" Y D0 ]/ l
$ O; I" M" n* k1 |# A+ \/ X
然后运行maple中的配方命令,格式为: " h. V; v8 R5 ~, A! s( Z4 w5 T" m
( R& e; k0 e6 Q$ e8 ?maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
1 B$ r; c; I7 `3 N& H( [1 D' H( u" C
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 0 Z: R4 h1 q7 a/ t: n
. A! O* O k) X+ tmaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
. Y( q# x- {6 c9 I9 n+ f, z7 R
) ^) M: _6 V7 ]: s5 g6 m/ smaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
% V, G* O( ^$ E0 y0 q% M
9 v" G4 y: i9 X9 p" K如何用matlab进行多项式运算
! b+ | ?9 n' l3 h! X3 p7 M: s! I
(1) 合并同类项
* C' U& q/ s/ Z+ P: \& w+ v* a: o$ ^% h9 ^" x) Y1 E
syms 表达式中包含的变量 collect(表达式,指定的变量)
4 s" K; v9 B6 A( R6 G) t% L' s' m7 [) g2 Z
(2)因式分解
$ Q7 H U. ~8 F: |8 g0 Z/ f% a$ n' x! o
syms 表达式中包含的变量 factor(表达式) 2 e+ g( w$ i: L+ _; m, h$ t
* Q2 C+ }- p" }, h9 ~
(3)展开
5 V0 V4 d3 a" J6 G& l8 }$ M$ \0 `; P, t* f+ T
syms 表达式中包含的变量 expand(表达式) . v5 u) L* F' g5 g% U* S0 f
, ^. x- k6 |4 ~0 Z
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
B+ S9 J7 u y/ D6 S9 X Q' I: g8 i2 U, r: }
maple(’maple中多项式的运算命令’)
; u1 S. l9 G, _. Y* O0 F7 l5 g# g& C( f7 j* J
如何用matlab进行分式运算
t; X- w& c& g- v8 l. e" J# \5 \) L+ C( f! Y, f1 A
发现matlab只有一条处理分式问题的命令,其使用格式如下:
U3 _- @$ f+ n5 D" N, g" U
$ E) @# U j' }: I8 N[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
u1 i! T" F9 v( X
( c( i9 {, ]" F6 w3 i: X不过我们可以调用maple的命令,调用方法如下:
6 A. e* G" L0 C) q" X7 l/ I- d) V
8 x9 q0 X! q. v- O6 G {7 t' I( @maple(’denom(f)’) 0 _! F4 M# c. ?, |, D
提取分式f的分母 ( R9 J+ z; h" w# n# ^/ @/ B
% f9 u% l: G) A% f" S2 s
maple(’numer(f)’) # e5 p. b9 j; T2 \9 {
提取分式f的分子
8 { m) `6 l" @) L7 z) ^$ J) `$ k : H6 m) S4 K# s# R
maple(’normal(f)’ ) ! ~, s7 N6 t% ?" J- g
把分式f的分子与分母约分成最简形式
8 y& N8 U% n; q' e. {
6 A6 @# j. N" ~) `. z" v: j8 O' Cmaple(’expand(f)’) ' J Y' G L9 N. }
把分式f的分子展开,分母不变且被看成单项。 , R$ @) v, f k1 }0 f6 x
2 r: L: t) i, L' Kmaple(’factor(f)’)
. M4 \- h2 a2 \/ o5 H 把分式f的分母和分子因式分解,并进行约分。# l1 o( X, b; b+ c+ P8 |' b: F
/ v$ z. w+ v& n- T7 k
K6 X+ S% R4 l如何用Matlab进行因式分解
# m% W+ Y# [! B8 e4 q
Z5 X7 x4 B; I0 v* B/ Q, X: H7 Csyms 表达式中包含的变量 factor(表达式) # w1 Y8 _8 Q: [8 m
8 h8 u7 V( x( b2 k4 K2 q 如何用Matlab展开 3 R4 ?$ e4 _) C; a/ J
* I7 f8 s+ C7 x1 z" s, v8 P, G; esyms 表达式中包含的变量 expand(表达式)
4 Y5 U, s( }3 Y6 e$ T4 g
) \* Q/ e: t9 }" p3 p 如何用Matlab进行化简 3 w- f3 P: j- Z. l/ Y) z
5 w" ^6 H8 y+ Y$ } ^syms 表达式中包含的变量 simplify(表达式) % M) {% F" f ?( G% p4 F7 `8 I
& t! A- K% n0 o J! b
如何用Matlab合并同类项 - n- c& ?! s! c" N8 z& \# k
$ ~! B8 C! }' x; c/ f& |
syms 表达式中包含的变量 collect(表达式,指定的变量)
% A) _4 Q; ^3 L7 u2 `. z2 [! u. L. Q; K0 u0 k, ~) y
如何用Matlab进行数学式的转换 2 U. r; A1 y3 e& E2 u$ X
, O2 y2 `; j- E! ~
调用Maple中数学式的转换命令,调用格式如下: ' S7 v9 P& L( S+ `5 m% J& @$ k
* O: [3 }8 j# o$ hmaple(‘Maple的数学式转换命令’) $ {% s. D { p3 ?
" o! Q2 f9 F1 S8 W
即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 : u6 o) ?. J! A3 b* J: J, C
1 N. ]. v" ]6 W% N+ j4 J2 n2 nmaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) * e/ ?) S& U3 G! P( j0 V. h
: ?& f7 m) J/ V7 v如何用Matlab进行变量替换 + t: K8 r+ w7 o' P4 P4 M, W) k. c$ y
& f5 F$ p$ p7 _6 R3 Q$ c
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
6 b* G0 M, K: S" `
% D D7 S7 ~' H( w 如何用matlab进行复数运算 - q5 U A; \7 a; z8 n
- y5 y5 t8 m% y w8 E
a+b*i 或 a +b*j
. G, B# U& H. b. | 表示复数a+bi 或 a+bj
6 w0 h7 z' g% \8 B
8 n7 E" ?2 j6 W: B7 P' P, ureal(z) ; C5 x* e" g# m
求复数z的实部
) v5 e* N6 m ]0 f% I , s- v! L. J& ]+ J" s
imag(z) - {2 X9 n' s& J) H9 {: y' w; v
求复数z的虚部
5 C. a( a+ N% `, l$ E+ q 6 c9 R: u% U7 C" T
abs(z) , n! P# b) ^2 i
求复数z的模
7 ^1 ~% d2 S* R5 y7 @7 F
: k- c7 y2 n* s2 n. Nangle(z)
" z3 j2 |- |+ q# q 求复数z的辐角, " ]1 Y' d# \* R* j A
& E( q( F& y& b3 ]0 Yconj(z) 8 z0 k5 P3 B4 A" P% K( r( p, e
求复数z的共轭复数
5 D/ e, f7 F. k) W2 j! c
% k- c: A, \) |1 `0 {exp(z) ! }3 S' v2 g+ `" K4 \( `( E
复数的指数函数,表示e^z9 v' _" s0 u4 n9 I$ E& K p0 N2 B
6 \9 b! a% \* j, `8 O3 ^
, X. }5 B- O7 U+ k8 n/ V0 W6 a7 ^
如何在matlab中表示集合
) G7 ]7 ?$ M d3 }" n& X* U3 M N/ O% R+ T
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
* ]* l& h: Y$ V# R9 C: q" x
L8 @6 [/ ?$ [) Wunique(A) 表示集合A的最小等效集合(每个元素只出现一次)
, o# K# ?5 R! G% T$ y$ `& x* s& k) I
也可调用maple的命令,格式如下:
* r5 s- m T" ~0 N! x
; y) a$ b8 h' l+ s8 U7 jmaple('{a, b, c,…}') 表示由a, b, c,…组成的集合 6 I1 \* A2 A' P# x" _
9 U4 q$ g) R7 a7 \, e- t. }
下列命令可以生成特殊的集合: . K: b' L) X# \8 y5 n
( C- L7 H7 q# _; J$ R3 \/ Ymaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
- S* h: L: N% A3 P1 N& i: a& p4 e9 E4 X) m4 U( d
如何用Matlab求集合的交集、并集、差集和补集
3 f0 F$ P: F4 R& v2 W$ }/ g
8 N3 [' `5 M: I- [7 y* bunion(A,B) % t9 T5 _ N7 [
求集合A和B的并集 # k% ?$ w9 y9 w, v/ B8 y: V
7 n% C% Z% j# }9 Rintersect(A,B) ' ` H. _8 ^3 e$ D0 n3 C/ d
求集合A和B的交集 5 F) P( S/ H" {' v& F: ^) [1 ?
$ r, }% U7 D& ? j) j9 j; b
setdiff(A,B) % }. d+ j( J) z5 u/ K# Z
求集合A和B的差集A-B ) b: |2 \* k L3 Z) |+ m
" n3 R. d% B0 U8 Z2 z' Ysetdiff(U,A) 6 d' }; {% }2 F+ C7 ]/ k
求集合A关于全集U的补集
' `, g- h$ r) T% s
/ C/ P% ]+ t; V
' e2 j. x( w$ K! P4 s0 q我们也可以调用Maple的相应功能,调用方法如下:
1 o6 ~- c. g4 _
, A* n1 L! D7 A; C8 i! C) \5 x+ \6 emaple('用Maple求集合的交集、并集、差集和补集的命令 ') ( q: A$ o6 b& `/ ?/ M9 G1 m% g# k
' y/ ?6 w! E- H
具体地说,共有下列几个调用命令: 0 Z. }9 J l+ a2 M: _
( l6 h1 U |. ^# u# @( mmaple( 'A union B' ) 求集合A和B的并集 7 ]5 k4 _) |# @
, Y) E. a5 J+ K! C+ M: w0 s' n7 X
maple( 'A intersect B ' ) 求集合A和B的交集
4 u& k9 G0 Z0 a5 l, a: ^$ }2 v# `( ^ C! m1 r
maple('A minus B ' ) 求差集A-B - d' D0 t4 W, V8 m3 Q
& ~3 _* @$ I/ i U" hmaple( '全集I minus A ' ) 求集合A关于全集I的补集
. A: O5 [" u; u: a3 I
( t- Q/ m+ P" o/ Q# {# i. U如何用matlab排序 1 y( R" L; o3 e$ y
5 t% g7 q+ d; P+ i: @
sort(v) 将向量v的元素从小到大排列(升序排列) |
|