TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple 6 |! Y! o. Y3 W6 s% a6 R0 F }
3 A# r7 T3 o* P, y6 o; r" I7 [
(不用安装maple软件就可调用) 8 w/ N$ G& x K$ c
- E3 c# A7 u- ~方法1:
3 @- S' U4 _" m: p- [' R) A! d: a; X; J4 N* \: x( v6 b* H
maple(’maplestatement’) 8 t+ u2 V1 @& K) a4 O% g% O
1 i+ T' H6 u* O- g1 Q# U/ f
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
' G- S8 t" l1 {- G3 A
2 n9 J( }5 ]: n* W方法2: * S5 Y: h$ g4 r8 {% _3 J' w8 F8 g; U
1 `/ }7 j# z8 Q( F
maple(’function’,arg1, arg2,…) & {+ u: N0 Q& X/ B2 H
( }' y j; a6 S/ M7 d: }6 b+ S
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
2 z3 y% k6 e& S$ a1 R' m9 \) D6 S/ G1 F x* o+ Z
注:如果方法1行不通,可尝试方法2(个人经验)。 ) i8 }( E8 s3 {' y$ S- w. T& m
4 y% ^4 E3 P( Z基本代数部分
) }: s( R J7 B, q% S6 r `8 m6 ?1 g, m" ]
如何用matlab求阶乘
* B9 N. l/ z/ W: U6 E1 Q5 Y+ x5 O
factorial(n) 求n的阶乘 + i" z$ A( Z2 i7 r
; v4 s+ r+ Q" |/ ~* h: v3 k
如何用matlab配方
, q3 J$ s, d% Y4 [4 |
- q! ~" `& f* c没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
- H8 _& Z2 M( I; f9 o# }7 ]- C" d) l# t" N
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) & `3 A8 ~: l4 {% Z# T6 s
: w8 w t- h$ J7 A$ n: _6 a然后运行maple中的配方命令,格式为:
% b- ?( \1 i- o9 Z0 Q4 ~
" x6 R3 e6 D9 u/ q$ O' Smaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 & Q1 f' _/ i5 A5 K! f; ], Y# f1 G
( v: u; K5 _4 g* K6 ]
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
* W0 G7 L0 N: s% N! H {" n& A B& X" g7 h9 }- P2 G
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 7 f0 f7 `" f$ A; i
# h+ E, r; w2 c$ d" i+ Q
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, 2 @! M) i3 m6 n8 R, @$ A& n! |9 j
0 {" {, J& C. _9 b/ l2 t& X4 ]如何用matlab进行多项式运算
% Y& B) l0 _2 y0 w5 M- }) m5 @
( L4 K2 g3 l& K3 e5 ]. g(1) 合并同类项 8 y) E# {4 b( Y
: |) f2 y. T2 p( Usyms 表达式中包含的变量 collect(表达式,指定的变量) 1 ^0 N# i; H# k/ b
7 j. W' @2 Q; H( V( X2 y
(2)因式分解 ) h3 I3 D" N. a( x$ B
6 {* l" D9 [6 i- xsyms 表达式中包含的变量 factor(表达式)
s9 S5 L& O$ M5 [( [1 d2 p
* O# c* N. U& F(3)展开 7 ?1 f2 n$ q! Y# x) w
1 d: |3 @2 [( Wsyms 表达式中包含的变量 expand(表达式) ) ^0 Q6 X' y* K
8 N; [* _9 b3 C+ w9 d0 D* I1 W我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
! c6 R; c) t& U: Q' [( B$ @/ A. W* e# P# F5 q3 f' p
maple(’maple中多项式的运算命令’)
9 {) L, P v: f7 n. g" j1 U& z2 j9 d+ s
如何用matlab进行分式运算 ; ^6 K: n9 Y8 Z4 Z) D
# y% n% m) n- T4 w+ E; C发现matlab只有一条处理分式问题的命令,其使用格式如下: " S* J1 J4 }2 L* w9 K. K
$ @2 s2 k6 V5 P1 M; P% W# w[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 ! C! u6 }# R' T5 H$ i1 q9 b9 u
5 l5 K8 @4 P1 g' G5 L5 t
不过我们可以调用maple的命令,调用方法如下: , Z* X5 A9 J9 g* S" }
! B: J- h) B9 t; Umaple(’denom(f)’)
' Y. Z: l& H, I$ _# k: @# S 提取分式f的分母 $ a' n5 M; |) D' U4 P
+ d$ i4 U4 t" u3 I; }! _1 g
maple(’numer(f)’) : x5 E# F& X( S! R
提取分式f的分子 , d( P% t& j) I) S8 e
+ G8 U5 {+ G2 [. a% R- h6 Hmaple(’normal(f)’ )
: F' P/ _' G4 I6 j* I 把分式f的分子与分母约分成最简形式
* ?7 w- w+ l7 E" @8 Y/ Z# ` ; S9 ^$ i n, [: P6 E7 O
maple(’expand(f)’)
) L/ i6 A6 \9 I7 z0 [3 o 把分式f的分子展开,分母不变且被看成单项。 4 n3 A8 y g# R
, @3 Z: z) O G1 D0 r& ~( b
maple(’factor(f)’) ( s* \) p1 t: b& D7 M& f, g1 \
把分式f的分母和分子因式分解,并进行约分。2 Q, A* Z! p ^$ C! N& X" n
$ y+ H3 b* W+ V" g1 c
# f& M3 U1 n- |2 E
如何用Matlab进行因式分解 % N% k' s: |, `( J1 j. _
r7 Q$ s# I- Q+ Gsyms 表达式中包含的变量 factor(表达式)
3 {& O" u8 K9 Z3 m3 k# _8 B% t) T9 q5 Y( S
如何用Matlab展开
: Y0 X Q7 y5 s9 j1 P) O. x6 V* _1 M% h
syms 表达式中包含的变量 expand(表达式)
1 x) ^5 V$ Z" Z5 u/ Z& `9 F/ g5 d0 W# k/ l4 a. J$ N
如何用Matlab进行化简
# G+ q" W7 q! l6 n5 G
; Y. f u8 g! Esyms 表达式中包含的变量 simplify(表达式)
; e# I, Z/ y. ?& t* F1 [6 ?0 }/ X4 x) A( f. ]& ?6 v9 N" U w
如何用Matlab合并同类项 $ r8 ]6 S v: z- w: [
% z+ ?# J! ]4 R0 p8 m; ?syms 表达式中包含的变量 collect(表达式,指定的变量)
5 Q; f- E8 C) p' P" O* Y, N% n3 F: y% Q) I W
如何用Matlab进行数学式的转换
. |/ D& H9 W4 u# h0 y
; H& Y3 r% s" Z* F" a调用Maple中数学式的转换命令,调用格式如下: 2 l$ B6 S9 `" H* t. }1 |) w! z. y% W
- G4 e; ^7 m- ~" a8 B' W; Rmaple(‘Maple的数学式转换命令’)
( g, }4 N w, G8 p" N
0 Y! [6 j, N6 w/ ] a ?即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 7 |$ z f6 `. K% x' I: F: O3 O
$ _! M K. _5 U4 h# B4 P
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) $ \& k) e5 k4 t
8 [7 w- u9 u# ^5 o& e' }2 u
如何用Matlab进行变量替换 ! `- n# C$ f7 c9 X1 u
+ ?: t8 u6 F8 j0 p4 Bsyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
# z: ]* }- U6 |+ B# u# l4 b2 N7 z0 Y# R
如何用matlab进行复数运算
% G! [$ P, ?* j# \5 k# T/ s J9 D* Q: m5 Q I1 B
a+b*i 或 a +b*j
6 ?3 J$ I1 q9 a7 a 表示复数a+bi 或 a+bj 1 @, v5 S+ |# T% Y7 Y& i
* i! P6 [4 P6 Y) ~! }& L$ [* L0 Treal(z) 4 S( g$ f- h: @$ @6 p9 z
求复数z的实部
2 N/ V; Q1 A, P# W/ H' C ' S: i" h5 d1 p: u7 R) P
imag(z)
, D2 O* ^& d" ` K 求复数z的虚部 % d6 q0 y; o G2 a1 G1 f a7 z
0 {. I0 ]2 W: x1 t$ m
abs(z)
7 W/ E6 r+ |( Z 求复数z的模 , |4 P3 U8 f- g F
( X1 |. S# n5 I) Langle(z)
' F3 |$ ^5 y6 F+ E" e 求复数z的辐角,
) a! O$ I6 A- g8 E
0 |! v$ L; Q# H- y0 x' wconj(z) 5 p( l) @$ j# b/ l; X
求复数z的共轭复数 6 ]+ @1 @* x# U p. T" }3 e0 D; X
W+ l6 g6 V8 N$ N# d0 L2 A. }
exp(z)
9 p1 M; d1 b" ~ E$ I 复数的指数函数,表示e^z P" w8 J- k7 ?+ { T
0 t% W5 B' r* q
' Z6 q) W! o( \- b. j0 W1 h: N如何在matlab中表示集合
% F7 w1 B9 ~ s: }8 q( N
[4 _- q) Q' v+ ]: A[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) 0 z' K2 r! v0 y+ k: Y3 ~* s+ q& I, d
7 T& `" d& A9 S! H" Zunique(A) 表示集合A的最小等效集合(每个元素只出现一次)
4 H: M" I+ X' c6 O* o* w# F# R$ }& I- b9 e' B9 j2 o8 z9 i
也可调用maple的命令,格式如下: - y T; P2 Y. m
- l5 n4 N% r( ?8 smaple('{a, b, c,…}') 表示由a, b, c,…组成的集合
) b/ f$ c8 E. A5 Z9 ]" M8 g
* W# F/ l; ~+ ~4 K. E: O/ I下列命令可以生成特殊的集合: & z, H- p! p) }) C, U/ G+ N& l
% R O- s1 G( V/ Wmaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} , @% P( o" {: v }* X
7 i) @4 D) |: B1 Q- C0 n) `
如何用Matlab求集合的交集、并集、差集和补集
1 F- M9 v5 ]" U x' {7 s& l: p. P3 N* L) K3 Z/ b
union(A,B) ( F6 ]; K4 r8 X2 n
求集合A和B的并集 & q1 g! J# G9 Z
h Q a, d, e) u5 r/ J7 Wintersect(A,B) + E! }" d* S3 C; V
求集合A和B的交集
+ s; R# T/ {) W+ R- V( \9 F* v
( M0 Y+ U N2 X4 n. |) c. S- {setdiff(A,B)
& s1 p: e l& y% T7 t. X5 Q; N 求集合A和B的差集A-B ' |) F N" T" J ?3 a% c( W
/ R @: Q0 F9 i; `* wsetdiff(U,A) : s2 Q* R3 v, C' Z7 k6 P" l
求集合A关于全集U的补集
( Z, G$ L, c" K. a8 D
! Q9 H0 T( X4 P0 U1 o+ O3 t' f. d* U$ T% W! T
我们也可以调用Maple的相应功能,调用方法如下:
9 M$ [0 I% v! Z5 B9 i9 u6 J3 v( x
maple('用Maple求集合的交集、并集、差集和补集的命令 ')
7 Y6 F2 w" ~5 a7 l4 l
: R: _+ h/ F( f2 X! ^5 r具体地说,共有下列几个调用命令:
- ^3 k# q2 p+ ]. Z6 f# L) h
: Z6 @7 ^% J# H; z) B" m1 p1 r4 jmaple( 'A union B' ) 求集合A和B的并集
5 { P( t( d; t6 C* t! b, [
9 z$ s4 T) F* B% k9 mmaple( 'A intersect B ' ) 求集合A和B的交集 0 ]1 A O4 ]9 \1 e
( K0 B% G* ]( z6 e* x, q3 t6 pmaple('A minus B ' ) 求差集A-B & @0 S: L7 n% j' H& w
/ O# b, b. m7 Omaple( '全集I minus A ' ) 求集合A关于全集I的补集
) ?7 @" {/ s$ {
9 b2 V- T, t; |- S如何用matlab排序 k0 i: I1 [) s/ E1 F) q
; f" _9 ?9 f5 F6 X4 Fsort(v) 将向量v的元素从小到大排列(升序排列) |
|