TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple 9 Y5 ]( C1 m! @, S
- Y' O8 ]. k; L' f! {
(不用安装maple软件就可调用)
' z% Y7 I2 Y( r# c u5 {
5 Q+ ]* ]% C Q! a7 H3 \% s! X+ N' g方法1: 9 } c& w$ o) ]+ q6 g
7 n, ~: o% \' I; G0 O" U3 F! v+ \maple(’maplestatement’)
; K1 \6 r. Q9 a; U6 M' z( D. a
' C; J* J& ~9 P4 @其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
1 q) l4 _ P) N7 l; v: w1 b2 t* Z* ]3 b
方法2: $ V- b1 b2 k. o6 ]* _/ q2 P
. C4 z8 N6 S' `( h/ zmaple(’function’,arg1, arg2,…)
, R8 K. d* L" V; x- C, L% n+ @$ A g' k6 p2 U' m% Z( j; O
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 2 x2 Z) \- X1 B' Y' W
7 W# ]3 g* j3 M' m# e5 I9 J
注:如果方法1行不通,可尝试方法2(个人经验)。 ( V h c! b; N, \. ~( U6 f- t
0 }* n& r7 O. M* c6 n2 p" k基本代数部分
* w" \$ j6 ^3 r) f e0 }
5 V0 \; q% ~, o, H5 [0 F- }$ H如何用matlab求阶乘 , k2 p0 I* }: {5 h1 x# r6 ~
4 L1 s" n: ?$ I: U+ o1 O6 T! u; yfactorial(n) 求n的阶乘
0 g* `& A% s5 G8 S, {; z7 p* Y& e7 w
如何用matlab配方
/ d2 X* b9 U) ?$ q" L( D3 R% z. j
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
: g$ O' j6 ^- u3 `6 e4 g* J" M' c9 W9 m& H/ M+ \
首先加载maple中的student函数库,加载方法为:maple(’with(student)’)
# v3 @- B( E: P. g9 ^. `: M1 s K q5 X Y+ f: x
然后运行maple中的配方命令,格式为: 8 @ W/ x+ i9 d5 Z6 E
7 ^3 b/ L4 H5 S2 dmaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 j# |5 O7 v( r0 S2 ^) v& p9 A; g
. u, |7 Z. _2 Q* m. P8 Imaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
0 H/ U4 a# t V( ~4 i+ o. {4 d; ^2 ^/ ^( |( b# T# `- H$ C5 m
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 8 [. t; ~& \" h" N; z$ z# t* K1 R
: J* p- I! _7 q$ W7 l/ @maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
3 |7 u3 m/ y3 ]' E3 l
6 V0 @7 ~# L# d+ @% N如何用matlab进行多项式运算
7 Z6 `5 k% E# t/ `! U# C3 t& t5 s' e8 l/ D1 E% v
(1) 合并同类项
& _; a g7 q# Y$ q/ E) S+ \1 u2 y! O, [; j* h Q/ d
syms 表达式中包含的变量 collect(表达式,指定的变量) : C( D" D/ w/ t$ G1 \2 p2 m
! b& {2 h' p2 T: A2 e, o+ U(2)因式分解 5 o/ E( k! a, X/ d- e7 a( n; b
4 o6 ]9 X" z( Q& a
syms 表达式中包含的变量 factor(表达式) ) T: D. \ h4 H
+ u8 a- P/ _1 ~% i, l9 C(3)展开 , @7 e7 ?/ {9 U
5 [5 [5 i" t. q, i( \+ N: N7 Wsyms 表达式中包含的变量 expand(表达式)
, _* {2 o7 l' }2 _9 E) a' T8 D4 @* J( z4 W3 C
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
6 l2 J6 W: N% {6 t8 R4 T1 P9 T* ~( a' {
maple(’maple中多项式的运算命令’) ) d% B/ c! s$ W; j. k
0 ^0 Z) U# s( p9 n! w, _4 z
如何用matlab进行分式运算 - _; s' s4 D2 Y8 u- X {) g" q
+ b4 r# B/ r" k9 t$ l% l9 k发现matlab只有一条处理分式问题的命令,其使用格式如下:
( b4 x9 G: d+ ]. M: Y
& D3 ~1 r* N& F9 C( E[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 ) h5 }, j& q5 O7 x" N
! o* T$ c* Z6 D( f6 N8 B3 C& l不过我们可以调用maple的命令,调用方法如下: 6 C3 `. \3 N/ @+ L3 P* O* v) s, {
( e6 i: n: a3 ~9 C* k
maple(’denom(f)’)
; o8 N, o! v4 l/ h# c S 提取分式f的分母 % s. j* o+ P3 E
6 V$ n. D9 M' l1 a2 d6 @6 j5 [
maple(’numer(f)’) 6 a# @6 p7 d e' q: R
提取分式f的分子
- e/ h& a6 B4 |. K$ F) o, c 3 {$ h' V' ^9 v0 ^: w T9 ~7 ^
maple(’normal(f)’ )
5 n0 y- u6 Q$ O 把分式f的分子与分母约分成最简形式
! M6 V, z* q' C) H
& |2 Y. ?" A" d) s! Z2 }( `maple(’expand(f)’) 3 r; F9 d, F1 ]7 G9 b& H' \3 Z! f
把分式f的分子展开,分母不变且被看成单项。 - ^4 `5 X9 w7 i# H
! n$ V8 W( }; q+ ]* M* X
maple(’factor(f)’) ( t! {4 R! _- Z: Y/ T R/ y9 C
把分式f的分母和分子因式分解,并进行约分。& I5 A0 S% ?1 a7 ]' M/ \
0 @# q4 A* V/ S/ I; o8 `, B6 A3 l' j p! l. R1 C4 i: R
如何用Matlab进行因式分解 7 R4 {* P+ M; u2 e3 m; p, W/ }. Q7 C
4 j: T5 p: ?8 b$ a/ H! m g0 m1 x
syms 表达式中包含的变量 factor(表达式)
0 A4 q$ V, g0 _5 @. T9 D7 [" @4 ]* A6 O6 \! }9 g6 K1 m
如何用Matlab展开 2 U/ N% G1 `8 y
$ ]" P, I5 E) L+ L
syms 表达式中包含的变量 expand(表达式) 8 G! a2 M& T3 L+ c. o9 [! O. B: |
8 P3 c# p0 @( A2 ^, Q 如何用Matlab进行化简 8 n1 e% r" f, C7 H5 r+ j: V* R. \
$ F7 a8 \+ \& x ^) E Rsyms 表达式中包含的变量 simplify(表达式) 0 ?' |, K# \% v: l4 a$ n. g
/ d+ v7 Q; F8 t) T; r X# c
如何用Matlab合并同类项 - @1 w) L3 @$ @4 n1 l: }$ M) p2 T
. K! t* Y9 H1 T9 Q4 Q
syms 表达式中包含的变量 collect(表达式,指定的变量) 4 C# y7 C; `7 r" W; w
, o: \. T' M4 E% u1 X
如何用Matlab进行数学式的转换 ( p8 X/ ^: X! V; ~2 [
, ?7 z d( ~3 \/ s5 G9 W9 P3 R$ J' t
调用Maple中数学式的转换命令,调用格式如下: ; _' i$ @) K; E4 ?4 b2 I% F' w( w
. D' k. ^7 z8 Z; C
maple(‘Maple的数学式转换命令’)
' P& e9 H9 i; \: t% U2 f
& f3 b5 a9 f1 \# y即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
. u" c, K3 d% W- r/ k7 h8 i- q* w& X g% e( }% S" d
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 7 \' G5 r+ W" v" x) u, G) N
( g8 O2 p9 I+ ~' \! z* N5 k, w
如何用Matlab进行变量替换 9 e" E7 F( ~4 }. _
: c2 j* T" |- R7 L* d9 Zsyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
# i& |! u( i2 a, e( ^- g2 n
& T2 i7 l. j# K1 O4 m 如何用matlab进行复数运算 / ?/ [3 e/ o, ?& B3 M
- d$ k- D8 M4 f
a+b*i 或 a +b*j / d( ?8 [ [9 V# p
表示复数a+bi 或 a+bj * W! g* q9 X& I* h7 x
F" w% e7 s1 R# Y5 y
real(z) . a& P" ]2 _8 u. V
求复数z的实部 6 e+ N" U( |: I& ?8 Y
$ K9 A) m* _* Timag(z)
8 y$ \4 c* Q: y- v# g6 r9 { 求复数z的虚部 7 w+ q/ a6 ]0 O: }
; v/ G; [! [. e( x5 Q) B
abs(z) , x# \$ b5 N+ \ n) S
求复数z的模
* B- X4 \( L& x3 o ' u) o; R2 a- X9 g- {2 m: Z
angle(z) " X+ N, G& T& [: @ M. ?
求复数z的辐角,
" B8 d& C8 J2 b3 I. N j , v9 T) F( W: e1 l; H0 Q
conj(z) 5 Y& ]! z& L" F$ Y
求复数z的共轭复数
, F- G0 R: q- k! T @ 0 ]4 o! o3 _% F0 w" P
exp(z)
( F$ ~2 R3 K; U 复数的指数函数,表示e^z# w# n7 o/ N7 @8 R2 ?; w
4 n( @( G8 ]* T
" X* j v1 Y/ c) l# Z
如何在matlab中表示集合 4 V5 F7 z& w) N# i+ i3 @9 v
& F6 v& b) a! ~ J[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
' A1 C; [& i* g& ? @% ~
6 I& U) B; J( d+ G0 f/ |3 G2 Q8 w2 bunique(A) 表示集合A的最小等效集合(每个元素只出现一次)
" q0 G C# ~2 p. f6 l; x" Z( [2 J7 S1 e9 D2 J4 O
也可调用maple的命令,格式如下: 3 S: e7 {) F7 W2 M I: Q$ m
6 v- o' x! L& W, K8 |
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
# c, p6 @; h, K4 X. z- L" S3 S3 i6 a- U+ o0 n8 R
下列命令可以生成特殊的集合: % S" t# u! q: X8 B) h' p; k
: D8 X2 I) \: ^' smaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
: v7 |% V: _; s
5 {1 X2 y. V; _* K如何用Matlab求集合的交集、并集、差集和补集
7 |$ i( U2 O( [) B9 ]- ^, u8 z8 Y8 J
union(A,B)
! B8 ]9 N* [, a! A' q' M 求集合A和B的并集 ! K6 B6 j$ V; I, M" y1 _8 q
/ p8 P) L# k; \* x; f( U' Yintersect(A,B) 2 _* ~) p- v3 f* u
求集合A和B的交集
- u# H2 R* q- R) B% B 6 L1 B7 ^) f7 @5 J" f
setdiff(A,B) 6 x Z; G, t3 n$ v S
求集合A和B的差集A-B 6 Q5 Y3 B, P" g. A* n. W$ H2 E6 _: v0 q
+ h' K1 f* }6 [* R; Isetdiff(U,A) $ V' o) r, }1 V1 ?4 X1 e6 `
求集合A关于全集U的补集- H9 w6 H& v e a' V( s
9 T' z, G2 l+ @, G. k
9 G2 i- p1 W* k我们也可以调用Maple的相应功能,调用方法如下: ! F$ ]' h( v& ]4 P1 q1 H
- x# E, e: t. T: t+ \' d+ j7 Xmaple('用Maple求集合的交集、并集、差集和补集的命令 ') ! O/ r3 J! H `6 ~6 u: g J
: f3 q9 X) Z% \8 j. d: ~
具体地说,共有下列几个调用命令: 5 \- J0 {1 Y3 r9 ?8 |9 B8 t1 E
& L' [7 R7 @, `+ \* ?9 X
maple( 'A union B' ) 求集合A和B的并集
* S6 y3 e3 v; ?
# C7 d' L1 N0 A4 r" Ymaple( 'A intersect B ' ) 求集合A和B的交集
9 t$ e" k D: F' }% g7 o3 E. [( ~ @" ^( r- h
maple('A minus B ' ) 求差集A-B $ k" _2 _3 q% U# w, ~; a+ u
" t9 }8 \/ e# N* I9 @" i( Smaple( '全集I minus A ' ) 求集合A关于全集I的补集 1 g$ {& T ^$ [9 b
- i4 Y% ]( Z, Y如何用matlab排序
: \/ ]: d8 j" H5 K4 W+ o0 W$ l0 R9 ]5 d
sort(v) 将向量v的元素从小到大排列(升序排列) |
|