TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple ' q% k8 D' Z' c. V2 N8 |* z. {( j
5 G. z# R! c6 h3 k(不用安装maple软件就可调用) " X4 p- X2 m5 M% ?; h; v
; ^' z- \) k# Y# e方法1:
% i' w) @; ?" Y6 n
+ |9 A/ s- Y) E7 a3 i9 ymaple(’maplestatement’) * G: B$ U% I: U: p0 M6 u( A% d4 N
- J; p4 o5 U+ }- R! e- D% m
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 6 S- V U* s/ a% t
0 A( p3 r L9 R% ^( v' A# _# `
方法2: 5 B+ k7 R s' r8 P0 n
7 j1 X1 Y+ L) k2 I2 H
maple(’function’,arg1, arg2,…)
; E( X" d; N5 n* Y2 s% t" ~( ^) e3 h% d4 I: y$ J b
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
0 l" ]/ p/ [. k! J2 R
}! Z) H+ Y" u& F% z7 u注:如果方法1行不通,可尝试方法2(个人经验)。
+ a* g' p- b" P' i, a) `6 w$ q3 H. k5 w# ]" g9 }
基本代数部分
, y" w$ k2 G( q/ H. t, a
/ A! b! {6 I6 F$ v5 i& t2 t如何用matlab求阶乘
* R6 n# `. j u3 s9 M* S8 m
% ]5 u) R/ G+ l0 B- afactorial(n) 求n的阶乘
7 J/ E1 |2 ?- `* _7 g* Q* H; g. \: c/ D, B
如何用matlab配方 , {# n' J s: V* I1 L
; g; Y& `% W/ G% j0 \
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
: F" i0 v4 _1 |4 h/ E H/ {$ T \; P
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) 3 \$ d6 z8 A% N% g. j3 X5 ~
3 p- }2 S4 P. p" n" A然后运行maple中的配方命令,格式为: / O$ b0 G, \, U5 R$ |
: @" l: x3 R1 b* z
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程
( r& ?' ~' @* p% `4 b+ U; k
+ l% B$ G1 R Imaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
# t! V, d. w0 l! T6 F( X& E9 d' \* d; c$ Z5 d+ l1 T# b
maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
a3 t/ @8 F* S3 i3 n4 e/ t( h$ z9 v0 E: r. j2 j2 A8 o: j
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, , H8 M/ q8 G' u, Z
) s) p6 w; Y# J' G- {
如何用matlab进行多项式运算 6 O3 F1 `3 H: C6 }1 \2 r
1 L. F, u- _ \2 j# y( C1 `+ n' f
(1) 合并同类项
; N; Q4 p+ X+ H _: W: Z: _3 B2 a. v- z* l5 B* q% C. |
syms 表达式中包含的变量 collect(表达式,指定的变量) * q. b8 s7 B* u5 K* V/ t
* r8 v% u. x ?
(2)因式分解 6 i& }' ~* z% K8 {5 M9 u M
4 C/ Y5 m4 U7 w& O8 O) I( p; `
syms 表达式中包含的变量 factor(表达式) 9 Q: h) H9 G- C
3 i$ E. d* g6 J3 E3 ^
(3)展开
% Z( I8 l9 j9 ]& ^, D" x0 W3 Y- T. X6 z# F& Z. ]
syms 表达式中包含的变量 expand(表达式) ( C/ ?9 v' I7 c* Y$ \' m
8 n9 i; j' G3 x7 B/ F我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: ; o Y; d) t4 i/ b
4 j: B, z. Y0 l H
maple(’maple中多项式的运算命令’)
5 u2 P; a) N' L; O/ X# J# ?3 }. O( u
$ R9 P' Q* v% C- R8 ]8 ]如何用matlab进行分式运算
: |% d- c0 d6 S& m/ f2 n3 n( f( e) Z) R. s" v5 j- t& g& A0 g
发现matlab只有一条处理分式问题的命令,其使用格式如下: . v7 |% s7 N# l& D# ^, e& R4 `
4 C* w j7 G! |- o& r
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 $ h: Z9 ^6 o w- i9 ~4 G! C
/ {. [, `* P6 ^" f$ m
不过我们可以调用maple的命令,调用方法如下: 5 O! \: C1 Q! J) @$ T
) I; \/ ? v { P7 ]0 W
maple(’denom(f)’)
3 K; n2 b& c: U4 v 提取分式f的分母 " R2 q" y! ?" y
% j3 d9 ^* p' \5 _
maple(’numer(f)’) 3 F% K! A [! G5 E
提取分式f的分子
S3 ]4 N7 Y1 e4 s; O9 |( C. I
, ~1 n/ y$ [, Nmaple(’normal(f)’ )
9 O6 z( j* _; d a 把分式f的分子与分母约分成最简形式 ( P& {4 k: r' \1 f2 f
* p! C& P& q! T* D8 B* j: Imaple(’expand(f)’)
l# k5 {) N7 D- Y 把分式f的分子展开,分母不变且被看成单项。 , y7 r3 b' W+ B! c
; Q7 r7 V3 r9 w! w( ~0 _ nmaple(’factor(f)’)
) y7 F9 @+ O8 G/ `3 d( W7 y* Z 把分式f的分母和分子因式分解,并进行约分。
6 q5 K0 l3 G! W7 H
# I' A# o. k. t$ ]& x/ x9 D2 Y
A }& [ e5 d" R5 _' s6 m如何用Matlab进行因式分解
! @0 o/ R$ w) w; G5 A! k; V' Q- Z5 C! ~7 T; p2 }$ { C
syms 表达式中包含的变量 factor(表达式) ) h, M+ S1 e; f! Y- i
, x8 {- _% ]% Z9 w
如何用Matlab展开
! r1 c# v* G0 W: k4 u0 S/ k* A' ~- i
3 y9 r; @7 @' U! o- R% Qsyms 表达式中包含的变量 expand(表达式) ' c$ @! _2 K2 C: e9 j U
3 Q+ V! U# w; g3 {. M 如何用Matlab进行化简 # `8 G: p0 C/ L6 g+ m0 r% y: d# g0 c
8 y6 X& t* R/ {- e: m
syms 表达式中包含的变量 simplify(表达式)
3 o7 A! D2 W, {
& H4 e; h9 s- q1 z. M如何用Matlab合并同类项
- K" m/ w$ ~2 p& r. y! o0 D% S' o3 y$ M; m3 q; s2 o
syms 表达式中包含的变量 collect(表达式,指定的变量)
4 L# N& ^1 [: n
) M! R% f5 `" A u, k5 u如何用Matlab进行数学式的转换 9 K& S0 m; e' r0 b+ c# c7 C
i" n9 H$ @# b( ], i. W( P j
调用Maple中数学式的转换命令,调用格式如下:
4 s! L6 v+ @' B# E* g
4 ~: _0 f3 q7 I' b5 @maple(‘Maple的数学式转换命令’)
/ w/ g- `+ K4 G# \/ ~4 \, I f. Z# |) d% r0 n! y
即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 $ S7 W# S- A% p) y' M T5 S- f9 h, V
; R/ c% l3 ^/ [ [3 H
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) $ d4 k* G; K, P4 H% i& a: k
; }' ]$ ~# _% r如何用Matlab进行变量替换
2 U% W* e u1 l- s
! Y+ r S; g9 ?; ]$ Wsyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) 2 U! H9 F8 ]( y. d2 I5 W
; Y+ e; P4 q% K+ y% f/ ] 如何用matlab进行复数运算 ) J& {5 D# k# { @1 s9 ~
3 [9 O4 Q; I! |8 I, q2 ua+b*i 或 a +b*j 5 u8 ]1 K# n& {; |, B7 C
表示复数a+bi 或 a+bj ) M4 \, c% p5 ?' q, f
$ H9 S& Z }! k; |: q2 P \0 preal(z) 9 O) l8 c5 M: i
求复数z的实部 , W% \: d4 k) W9 L' h) @
5 m0 B! g" N l/ K7 p; {: d5 m$ Rimag(z) 9 W" ^6 s4 g" F$ U' {: h0 V
求复数z的虚部 ( z% s( |: d: f+ q
5 P% \4 N8 X& Q, n
abs(z)
, x ?: Z8 r3 Q# W 求复数z的模 1 p7 M! v, O/ D- Q+ `
. |% C0 F4 k9 W
angle(z)
$ d) y, _( G4 D* ~ 求复数z的辐角, 0 y# V- d b0 ^8 L8 q4 y
: [- |5 V& R J
conj(z) + p$ ~* L4 J2 k \ X. l% {- C
求复数z的共轭复数
J+ q5 X8 ~4 B/ h 2 h3 a0 G, ?7 O! R a- e8 y0 R
exp(z)
$ u+ F9 ?/ z$ j! {: e" ] 复数的指数函数,表示e^z, _9 N, B+ Y, A0 b; {& L
! A+ s" r9 [; |0 p
" \2 g1 r! s8 K8 d
如何在matlab中表示集合
2 N- S. F( n: f+ V2 Q0 r" M* z8 G( g- s I" h
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
% o% u4 k/ w: w- w
+ R' h, d4 q( h. M, H% \unique(A) 表示集合A的最小等效集合(每个元素只出现一次)
* w: Y2 d- b! {# J" I) u
& e% x9 _7 E q: w也可调用maple的命令,格式如下:
; U9 |% q0 l) s% k8 T, ~( n. T1 f- \, s9 ~
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合 & P& `; G0 E- B8 t6 A9 U2 G
8 h* ^+ Y: U. _* D下列命令可以生成特殊的集合:
# `- j8 R' T& X: i0 ]2 r [
( }5 b2 C# \" X7 h* [7 y5 M1 L& \# ~maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} " a& E0 \( _/ }2 \% F
8 ]9 q; B4 l/ l% A如何用Matlab求集合的交集、并集、差集和补集
- s0 y5 h# t) j) C& q$ s+ x: L0 l h# d+ J9 u( `
union(A,B)
4 v& @3 T! G" [: D0 K% L4 f8 j2 K 求集合A和B的并集 ! ]8 J# q/ x3 v9 Y& V
# R& S- X0 C+ ^& Tintersect(A,B) 3 P6 D, ~" O7 y+ u
求集合A和B的交集
3 } Q3 h# A2 J + ~) q( ^' Q" u7 a
setdiff(A,B) - [ m& C% L0 [3 t$ c0 Y7 O) h
求集合A和B的差集A-B 3 Y8 u P9 p5 L6 Y% B' o, [# C
) e" K* {5 R0 z. `8 A$ h9 z$ f0 p- |setdiff(U,A) : f# z& y/ E3 w8 k! p5 @+ ]
求集合A关于全集U的补集" I: f2 N- Q: w: u, |
( s: n7 p- a- \# @' i+ d2 V
. I$ b* c4 P: ~; ^
我们也可以调用Maple的相应功能,调用方法如下:
1 J5 M( Z8 M( @: w3 b; ~! m# m3 w2 o0 p
maple('用Maple求集合的交集、并集、差集和补集的命令 ') - R& N x: _# P8 D( L' @
3 Y+ U/ [ g* Z4 ?5 G% ]+ a
具体地说,共有下列几个调用命令:
7 H0 ?4 a' }( g3 q
& ~% S" a' B+ ~8 ]. Pmaple( 'A union B' ) 求集合A和B的并集
7 B% D5 l# [ n* Q2 B" ?: j3 s" u6 H
maple( 'A intersect B ' ) 求集合A和B的交集
9 c6 Q/ j3 T* j4 u5 J/ f" I2 i# d8 p0 o: c' D; ^ a
maple('A minus B ' ) 求差集A-B * K ?8 p2 o" h# t* J V
& z" B( |8 b# W4 @/ P# b1 ^2 ?
maple( '全集I minus A ' ) 求集合A关于全集I的补集 + [: ?0 G% B( A& ~, ~
3 @" n/ I' d- s& @
如何用matlab排序 ' P& u* T/ W( F$ p
+ _& i0 M: D7 U3 B/ a: u8 y$ V
sort(v) 将向量v的元素从小到大排列(升序排列) |
|