TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
+ F) U: }0 p; S2 g( D0 [) t2 x0 @% Y( a; H* [/ V
(不用安装maple软件就可调用) 5 n' Z6 d J! [6 ^$ W7 l
4 ]' u2 }: L3 y4 M
方法1: 2 n8 E* \+ m* [; r* J
4 v' E' j8 c3 g% I* Z! }3 l
maple(’maplestatement’)
9 S$ R( X( M$ P+ S! F b7 w/ r
2 G8 e* I2 y' \( b$ b其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 4 Y q- S- H& e
: P; m4 h. G: y _2 U. F
方法2: * ?5 W, \6 A1 B8 o& X
4 ^: z% M+ [2 J
maple(’function’,arg1, arg2,…) 8 V( Q: A) ~# n k) K
( f' ~! o! D9 d5 J+ V( N; U+ a1 k其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 9 @; n$ @7 ?- M! J S" m# c& @* O) r
3 ` E- A# g; X3 ~0 |3 E
注:如果方法1行不通,可尝试方法2(个人经验)。
# T4 K: T2 J5 b& w# e/ ^" d5 X
! `' o, T4 f8 Q' _基本代数部分 : q, i; d. E& E' Q/ K( P9 p
* i# ^+ B/ r& x$ j如何用matlab求阶乘 ! p8 g! w) b3 K* _2 n/ r
6 D# h$ b6 {1 e8 E3 z7 Q1 ffactorial(n) 求n的阶乘 ; V1 e) P1 A) T+ p& S
/ `2 A4 I9 c. P% ~如何用matlab配方
( x0 _7 J5 j3 F* e' K
2 I* k# u+ V$ P2 o7 n9 l没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: ; h7 E* [3 ^2 t4 ~6 X0 k
- E1 A$ m) l7 ^7 g6 L- X/ F
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) 6 n! {, R# s. u( @
2 Y5 z; N) ^; m+ t" P- W
然后运行maple中的配方命令,格式为: $ @4 C$ b8 z; V8 R, g6 K3 A
+ Z( b. r, q+ ]2 r6 i1 a! hmaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 / g4 f1 e( X& i [! }
/ N+ r8 x6 C8 }maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
8 Y$ L, d6 F, c" l6 {
( I d( e" g# X. v& ~maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 ( h* L7 C, G5 d" [
8 B1 y1 H6 H8 p5 e* l+ G9 c
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
2 v5 y3 p" u8 K* g4 U& P8 X5 o+ P% T; k$ b) E
如何用matlab进行多项式运算
8 @- }: k1 ?. n \7 W4 ?3 ] w2 E: V
(1) 合并同类项
( W8 R' ~9 I( ^" l0 _) x0 Z% h) U- K3 \' k" D7 Z+ C
syms 表达式中包含的变量 collect(表达式,指定的变量)
/ Z, t0 r8 n1 T% J* [) _
* W6 N0 Y, Q' ` X: k(2)因式分解 * W( J/ K4 [5 N# f5 J q
. n) T6 e. S& t! S: |) A& u. }: osyms 表达式中包含的变量 factor(表达式)
; j7 g2 `+ V; g/ `8 f. ~
" B$ w' {# t: M' r `- y8 u(3)展开
+ k$ c0 C* R5 z
* Y. z, F& i7 [+ Y& g6 gsyms 表达式中包含的变量 expand(表达式) 1 P9 y9 R7 |2 i, f! y4 t# J- ]/ L
" @! c, o# C1 _% I5 ?9 s& f我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
2 R2 Q4 h# Q) j5 _+ b' x' B4 y$ J7 d
maple(’maple中多项式的运算命令’) $ T8 e4 p' H Y
/ o; {+ S; [3 ~4 h1 f) J
如何用matlab进行分式运算
! _& t5 t" L) d, C A1 i) [8 G' z3 S/ C v5 p( E' m4 W A
发现matlab只有一条处理分式问题的命令,其使用格式如下:
( X! P8 U6 V/ `; s) h
( d3 C" H% i9 _! Z[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 - I5 K7 K$ l5 u
9 L9 x9 o. l) s不过我们可以调用maple的命令,调用方法如下: 8 O7 D# U. k" t7 P5 t
: P" S. K- U! |+ ^% z& q5 a% Ymaple(’denom(f)’) $ s/ M- [% y/ x5 \# a5 c
提取分式f的分母
. F% p; V( O% Q: c
5 c+ G) D; N# q+ ~ i6 c, Zmaple(’numer(f)’)
3 t3 R- W: R1 g 提取分式f的分子 1 X$ K6 A( s8 \: ]! L6 D. Y
" i; O3 k6 s* g6 p8 C& X% wmaple(’normal(f)’ ) 5 @1 F8 m8 t0 @) k& w
把分式f的分子与分母约分成最简形式
) h6 }8 c. G5 G' X3 e
1 T* I$ ~! B5 ?8 V; B) L1 W- Xmaple(’expand(f)’) 4 C7 X' H. _ G% s+ [* ~
把分式f的分子展开,分母不变且被看成单项。
/ F$ ^* x" }% l/ G % e* z9 _( `# j) ]/ k
maple(’factor(f)’) g) g; p( g+ g' s
把分式f的分母和分子因式分解,并进行约分。
$ Z' f9 h6 P! c) j + Y( ]% J9 b; ?, [1 C
0 h) T5 X7 b9 X1 f& U0 i$ X
如何用Matlab进行因式分解 / P% J1 z# c* N
; D7 v' |5 u6 p- u% ]# ]
syms 表达式中包含的变量 factor(表达式) & I; O7 z4 K% w; W; q8 ^
/ {3 q7 }7 B2 R# u6 K! e 如何用Matlab展开
) n/ m$ Y+ `9 @ f7 p6 a2 U5 \" W( s% J4 F% s
syms 表达式中包含的变量 expand(表达式) ; G! w. M8 W: O1 O7 h# `
: E1 O" Z& h% `% l# k1 }: \5 m/ Y 如何用Matlab进行化简 ; m* {" m& C" K
5 P& R; j) S4 C3 Xsyms 表达式中包含的变量 simplify(表达式) ; B. P+ p/ e3 L- b5 q! I- _. Y4 Q
! ?) {5 x! ~- q7 G" H! M2 _# x( }0 }
如何用Matlab合并同类项
- A. n. @0 _1 Z5 ?- T7 f# t% e' ^! Z3 j
syms 表达式中包含的变量 collect(表达式,指定的变量) ! E) D/ R3 [& \+ |6 A$ B {. n
2 X; V) Y" E6 {& b$ Y
如何用Matlab进行数学式的转换 5 O& w7 U3 Q) Q& e0 v
, @1 X5 e+ k+ s! v, q0 M" f
调用Maple中数学式的转换命令,调用格式如下:
9 h+ v! d8 |% j) Y T3 R2 {0 f1 N/ v% G7 z# E0 ^
maple(‘Maple的数学式转换命令’)
9 @8 e- w9 X, Z& a5 B( X
; s( J# q, V$ @1 f即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 ! g; J& Y b1 D, Z1 `. D
: C% }$ V* C- D) v( nmaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) / F/ Z, j. ^" ]- @( k
) d, f. D$ g) G如何用Matlab进行变量替换
7 s1 M1 C1 E5 P) Q+ j" V+ I; U, x2 c r7 U
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) / h# ]1 N* I5 U, z5 T' h0 R0 v7 w+ X
: R% g, u- H& E3 J 如何用matlab进行复数运算 " e9 l* z/ O9 W1 @4 c$ a
" S# @! ?7 z1 y5 r/ w
a+b*i 或 a +b*j , o4 o6 }5 I* ?, [
表示复数a+bi 或 a+bj ) i( _- A: \1 s' j( j
) @2 ~1 L$ ^# greal(z)
! g/ L' G7 T, }# w6 | U 求复数z的实部 # o+ I# |8 ~9 p9 F2 |
. F6 Q! u2 b6 y# a# R* l# Zimag(z)
" T) E) _% j! I3 v( D 求复数z的虚部 : C. Y& F0 Q, X( J4 M
& i' u7 K" A( G- N/ u- s
abs(z) # @: d9 `2 @# J7 I+ z
求复数z的模 7 f& W7 |' n+ x: g
; p: |3 c3 X, v! d. X1 Kangle(z)
3 Y& n9 \: i, N6 ^+ V/ i# o 求复数z的辐角,
( s8 ~/ p, w Q; J# C" [, \
B) s& A( x+ ~) ~9 |conj(z) 9 t; U8 d8 X& Z; ~2 |
求复数z的共轭复数
- C0 Q% n8 r4 u* Z8 l ) d+ G7 B% \8 F; ^- U7 J$ Z: d' D1 H
exp(z) 4 j( X- B3 T5 _; e$ t
复数的指数函数,表示e^z
, M. K1 s1 E4 q1 z' C4 S
/ ~/ K- q# }" }; k) x
6 z# I8 }: P$ D0 c8 a如何在matlab中表示集合 0 j7 K3 k- j# p
: `) ~9 N) w/ j3 p+ V8 @3 S
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
( i& ~7 ?$ \8 K! k$ v0 P9 b8 H7 n$ H' p/ h5 f% M1 _; \
unique(A) 表示集合A的最小等效集合(每个元素只出现一次) ' i5 F' i$ T3 ?. _" d( W
% M& ?5 J3 D9 G" @7 L# X! Q( W+ d
也可调用maple的命令,格式如下:
7 q3 w" ~( e+ q6 A
, y1 H; K v" W& H( i5 [: [maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
8 E3 ^& I* M( z3 g D7 e8 k/ C
/ J+ d1 `' G* Y下列命令可以生成特殊的集合:
2 \) f( s" [# k7 X; F4 a* H5 f2 ~ J
/ j+ n9 s7 V! u% tmaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
* D8 V5 U" K3 |% N2 T2 u; _
/ L- D8 F6 ?1 k; M6 U; L5 n+ @如何用Matlab求集合的交集、并集、差集和补集
1 R6 E+ R" c5 b* Y
3 `2 k6 [' n" L! M% w& K5 L+ funion(A,B)
7 q; D$ S- ]& h- A 求集合A和B的并集 1 t; ]9 c' w2 [' w7 L7 N2 C
* t6 h( K9 s: w+ G# R1 m$ z
intersect(A,B) ! c( M0 z) l1 i5 a ~
求集合A和B的交集
6 n3 X4 f: W" h: Z, C) r' g5 e 0 x) u& b8 q! A+ Y7 a P; }
setdiff(A,B) 9 [8 P* {7 j. Z% d, n" K F
求集合A和B的差集A-B
8 _. o9 W) K9 H, a8 F, j ) x! ~6 w" y9 ^, H
setdiff(U,A)
* E4 ]: k- G! e5 i( s3 {3 D 求集合A关于全集U的补集/ Z/ ?. N& F# B+ d' H2 _5 X+ r% j
( j# z# b$ I* j* u. |& `% q! S$ z7 z& q8 a4 b/ C: X0 G
我们也可以调用Maple的相应功能,调用方法如下:
( o6 h, D& U+ V0 ?, J6 J5 J" m& P( s" Q& S( f. l @
maple('用Maple求集合的交集、并集、差集和补集的命令 ') / ]$ N: ]3 X' i1 k: d/ z3 d v; N
+ s y! L$ r5 J9 }/ D% b% _具体地说,共有下列几个调用命令:
6 D4 N/ N5 Q1 |7 M8 k( g' y' S! Y4 \
maple( 'A union B' ) 求集合A和B的并集
5 @- p, p3 ?( r+ d
% Q* s5 E% \5 w9 _: ~maple( 'A intersect B ' ) 求集合A和B的交集 - m# z3 G5 P+ R; E5 `
! d' a2 d2 s. Y5 M# d+ J- S% q* G# Umaple('A minus B ' ) 求差集A-B
: `# i8 u A- Q# {6 Q0 f% Q2 v
5 G8 c" z- ~6 k7 Omaple( '全集I minus A ' ) 求集合A关于全集I的补集 # ^/ W3 J- S. @; H8 s" J0 e
# Y' k j8 T6 c# C6 a( Q8 x4 E
如何用matlab排序
8 n g. d. e: M7 l% ^0 S5 B
. t* U1 q6 [5 R- x) q+ tsort(v) 将向量v的元素从小到大排列(升序排列) |
|