TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
. m& ~" h' H3 n' D
. b+ R. X* q/ X R+ q3 Q& [(不用安装maple软件就可调用)
2 H. W! O) Z: p1 q9 f w5 ~/ h2 a- R3 j3 s% Q3 ~" ^
方法1: ; T$ v4 d1 A, o
: c( v0 {' N& N; e* S) u/ }
maple(’maplestatement’) * o* p8 f( V1 \" h6 `$ u
0 _# a* d% ]& J/ b其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 ! ^, c# h+ M2 k4 f
! Z& G0 u1 B( m+ M u% G
方法2: & x$ c# X: P U5 m" w
' z* w0 v" ]" Omaple(’function’,arg1, arg2,…)
- i$ X1 T& n! V. \& p K7 ]
/ `& @/ @ k [4 P& J% X其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
4 |" N1 L5 T! [" D2 F F) l, ^: {3 Q
注:如果方法1行不通,可尝试方法2(个人经验)。
; b$ }0 P3 K3 o% l3 |4 v3 w G3 U0 G( P; Z+ L3 _
基本代数部分
/ h4 ]+ }" z Z. I# |- F
W# {1 H: e9 W2 L如何用matlab求阶乘 - U$ q9 \" ?3 S
! i2 y, f9 `) G
factorial(n) 求n的阶乘 5 P2 a% `7 |2 p
" l7 o3 b* Q, T3 `, c8 g0 }
如何用matlab配方
* }6 d C7 J% f) C7 w* r) L; k# u! q; {2 l g
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
! n. U* `( ~7 X1 x8 l4 D) }+ C+ j
6 G6 x/ |9 _3 `6 E( g6 C @首先加载maple中的student函数库,加载方法为:maple(’with(student)’) 7 M% |0 e) r" }$ S, N, I! ^0 f: P
1 R& O4 W* g8 W; R然后运行maple中的配方命令,格式为:
2 T4 ]5 z( g. ~' ^" X. [' w, o! K* K7 R7 `. ~
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 % }# Y/ i! G7 U( m |. L( ]% W
% y* n5 c2 q P4 P2 F' p5 H. Pmaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
' [0 D" Y y/ d. j l# b- P- s
& F( v4 G& }: t: m, G* D% Qmaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 5 u5 a2 {4 l% s/ {/ e: r0 Q5 o
% ]+ b2 T& t! E2 |) }2 ^maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
2 _* U: L3 \; e1 [7 ]
2 F0 w. g$ X2 p: k( I1 a如何用matlab进行多项式运算 ( f( I0 M2 _: c G6 u
- d! N# Q1 o9 E' N9 K: g* e
(1) 合并同类项 $ L0 o0 a& d) ^7 J
_8 u3 ~! ]$ f: Qsyms 表达式中包含的变量 collect(表达式,指定的变量)
- z# _; S$ M1 R" H2 b
# t: {8 A4 g* W/ o(2)因式分解
* E$ y: u# i, i
5 N; Q) r+ a3 U/ n% Esyms 表达式中包含的变量 factor(表达式) ! Y; G0 g' @0 z
7 S$ L8 C U( s8 k
(3)展开 * ~+ X' V$ l9 O5 W2 a2 n$ _
" z: i* e3 W8 X* t' t9 D
syms 表达式中包含的变量 expand(表达式) , x, m- W: `/ J7 F
9 I% s$ {8 b8 ?+ h* p我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: 8 Q# |" U* s; }7 H
0 ?; p) V3 ~) F) s! f% N
maple(’maple中多项式的运算命令’)
+ l$ r! G, Z6 @' h# g
+ h: n; U2 h) Y" {如何用matlab进行分式运算 5 W# q* k" h8 n8 N5 U+ w; U, Q
3 f/ O3 S' Z) x发现matlab只有一条处理分式问题的命令,其使用格式如下: % w: t7 g8 }0 X* b
$ _) N0 A$ k7 R[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
1 C+ ~/ O' @8 d) y% T- n& D0 J) C4 ]% q/ _' G
不过我们可以调用maple的命令,调用方法如下: * [ g) ~. x$ r: m5 d$ c
# h1 W+ @0 e2 \+ Y; H5 zmaple(’denom(f)’) 1 ^4 B- h7 @9 G! S) a1 X+ S
提取分式f的分母
! f" X9 j. C2 [6 y1 X8 [2 N
% }$ s1 m! a6 S Smaple(’numer(f)’)
& E A' j, D2 e9 v- e* Y, a 提取分式f的分子
! R a: `9 p4 f% j. ? ' |. W" P- p6 W- }
maple(’normal(f)’ ) , J) r8 x6 I# C5 f, y- e& X
把分式f的分子与分母约分成最简形式 7 i$ |9 M U4 ?1 m: E
- \5 W! c0 G- q3 |
maple(’expand(f)’)
7 f& p& h1 M3 B: [5 ] 把分式f的分子展开,分母不变且被看成单项。 ( _7 D) m) W5 w# P8 N
9 e3 J/ U) [7 d& R' k+ {0 l
maple(’factor(f)’)
2 H% s. U/ Y4 R/ U3 l3 S+ G% y 把分式f的分母和分子因式分解,并进行约分。8 W$ F) R" m. f9 @
% W- v0 c0 s5 X
' _9 U; h$ z7 ? w
如何用Matlab进行因式分解 * B; Q8 v) Z7 k/ [$ o. i
4 F& X4 g8 g7 w& e4 a1 q" }
syms 表达式中包含的变量 factor(表达式) / X3 q$ I/ Y3 T9 s
2 z' Z5 m2 g3 ]* S 如何用Matlab展开
$ v' _0 D9 K$ J1 r7 }9 ~, H8 X E/ a% G
syms 表达式中包含的变量 expand(表达式)
* J' H6 m& R4 j. Z# b6 B6 g$ f# B( M0 C/ A
如何用Matlab进行化简
' K" @, p1 W! p" b4 b2 }; d- u5 K. X( o: h8 a
syms 表达式中包含的变量 simplify(表达式) 2 n8 w; Q. P; o7 ^9 I3 V
, ~2 @' M2 w# V; U1 g! k" P' H
如何用Matlab合并同类项 8 x2 [& z5 V" Q) {3 D8 D/ F% H, \
$ s P9 Z. D. ?" Q3 C: Bsyms 表达式中包含的变量 collect(表达式,指定的变量)
4 |1 t7 p$ O. {& a* c3 \: H% l3 |9 P" ]9 S( l
如何用Matlab进行数学式的转换 ' r* `( w% N# D) v w$ [( ]2 D
2 e# A4 l% B5 p) W3 \
调用Maple中数学式的转换命令,调用格式如下:
5 f; z1 h6 Y7 h: B+ }$ [3 F, b# u8 o" \: w5 f
maple(‘Maple的数学式转换命令’) 2 A! a1 w0 {" F0 B! ~5 Y
+ A! J$ ^7 M# m0 S; s6 h' B2 \即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
$ m; W7 K- j: y7 i5 }7 o, p- C& }3 L; \6 b4 v1 ^8 u
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) + ~# R0 T" {9 E! e: _ x
$ {6 p, o/ I0 J1 _ h如何用Matlab进行变量替换 . g9 `: J1 @# q8 k
0 e+ C4 f* f4 I8 p1 T5 Ksyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) # t6 ~3 b8 Y0 `' o9 c$ L Z
. \: ?6 E. T6 |3 i+ h 如何用matlab进行复数运算 $ ?- Y4 u: D& c
5 }# a; k/ x" Pa+b*i 或 a +b*j + r' z% y: w Z' L9 A9 ~
表示复数a+bi 或 a+bj $ Z+ y& N% e# L+ e; {, t; Y
( z* j; n" \# c3 U5 sreal(z)
6 B5 ?& q" j8 r6 ?1 e* O 求复数z的实部 # H8 ]9 ^/ y& U2 Y% ?" T, W
9 @9 ^- V. q( Z8 gimag(z)
5 c G+ R( a, Q1 y7 I 求复数z的虚部 5 J( q7 ^3 |: @% A9 u2 C) O
+ F, q6 W1 V& b4 n+ G
abs(z)
3 T; U0 W# s: u% H: @2 C/ c 求复数z的模
5 S7 B* p- O9 R& p. E0 I
8 E0 _, U3 R3 c8 T X& uangle(z) 7 Y4 @) e. F% e/ g
求复数z的辐角,
0 V4 P* F7 l- y& O# W- h 6 @; U* z$ A0 ~! T9 ?. J
conj(z) + J- r. y$ ]; c3 Y
求复数z的共轭复数
/ `% j5 c3 q3 e+ Z2 \* `% O ) n+ s/ {6 M, A. Q
exp(z) 9 k: M2 a8 ]; L5 N5 R. [5 f
复数的指数函数,表示e^z
# u/ l1 v' j3 c6 K
8 T: Z9 E2 |& X* }7 {: c4 W9 j. P& d4 d0 ~6 b( m
如何在matlab中表示集合
& w+ T$ Y/ L8 w, f6 [# Z5 ~
5 u3 N8 k* \5 Z4 p6 `) o[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) * L# \$ x# {$ X, I& Z
* w5 ?$ P$ l) a5 ~
unique(A) 表示集合A的最小等效集合(每个元素只出现一次) ( R1 D8 w4 Y) c( v# G! q9 K! T& z
8 G9 k6 |& p3 }, m2 ~& J
也可调用maple的命令,格式如下: ) c% @7 W% }' p+ L9 E
: T3 A2 S' V3 H/ @
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
$ x3 K2 Q5 S4 Q" N9 v, Z: Y" x; ^- v0 \& h+ s! k, z3 E) p
下列命令可以生成特殊的集合: . ]# g& O3 L3 a2 |+ R! p# J P- s- x
8 e6 ?3 ^' t. w' r) p8 V5 N
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} 4 o5 N8 E' \5 p1 b2 J N' S
, K/ g/ I% _2 m" E2 h- ?3 v如何用Matlab求集合的交集、并集、差集和补集 + I! K' A: z6 v% [
# w: E7 e+ G- s0 F
union(A,B)
( B+ u& M! @' E' J: f4 |/ c 求集合A和B的并集 $ z4 _& p5 I7 I$ g2 ]% N
' S9 R0 z. H i k8 L. zintersect(A,B) 9 a$ C- x9 r" Q0 p$ g, `* @1 z0 | e/ }
求集合A和B的交集
$ S* a* k g F+ `% j
8 S) v' U( P( g2 Ksetdiff(A,B) ' e! x0 V9 q6 L i, a
求集合A和B的差集A-B 2 N! n X. B; H* a. a& b6 n
* z: y2 w1 k z# c8 t. E# P
setdiff(U,A)
& U% {7 R$ o) O* @ 求集合A关于全集U的补集! B0 Q1 w! j2 ~( S# X
, e4 ^" `0 W- [
" o- e0 {" i4 i8 g我们也可以调用Maple的相应功能,调用方法如下: # I/ ~8 h/ K! ^. j, m* K9 j v+ Z
; m8 w1 y/ Z% n, c2 ~
maple('用Maple求集合的交集、并集、差集和补集的命令 ') % F7 A" ?" s# d+ c5 N; `* m& Z: j
3 O7 ^0 I. I2 \8 Z6 P5 K6 i8 I具体地说,共有下列几个调用命令:
4 d9 u& z# i. \2 `
2 \, J* n4 J. l' i! F, _1 g; pmaple( 'A union B' ) 求集合A和B的并集
* ?; b* V! L+ C& n5 h3 p0 ]* Q! k7 R
8 c- r3 q* `# j3 m$ [2 q9 amaple( 'A intersect B ' ) 求集合A和B的交集 5 X$ m) g- O& f4 S/ i, o
. V) j0 s! N8 Z9 \* M7 o& z* u' }
maple('A minus B ' ) 求差集A-B % {( a% g- \! z" p0 s6 @% y
, k2 w! o2 d6 a: X0 `( r6 I
maple( '全集I minus A ' ) 求集合A关于全集I的补集
% ^1 H& a- R, t3 q/ Q1 L" |$ ?5 H) a& T* f/ M
如何用matlab排序 6 T. t3 c% W4 Z$ X ]
; P3 a, d* A, j3 Y1 rsort(v) 将向量v的元素从小到大排列(升序排列) |
|