TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple
; m+ S2 Q9 X3 |0 a7 e; F" m! _7 R
" z. e6 {7 Q, `2 M, h' i5 U- P(不用安装maple软件就可调用) & x" G A# f: k5 E+ Q3 @: x
" P y' T/ }* i% e6 @ d$ ]方法1: ' R! J N6 t& t
1 ^8 b0 L! l# @, v0 l; {& @8 ?
maple(’maplestatement’)
. ~4 g9 s' }! u& v. }- ~
5 Y# u- `8 j* j8 l4 U其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 " G/ b1 ~; L4 J& y/ @
5 ]: {# R2 a0 d- U
方法2: , m, U. x! Y$ r, I, L
" l6 q, L+ H% J' K9 W
maple(’function’,arg1, arg2,…)
2 p8 _$ x( a) Y \- f# _" M$ W' _: h' b5 i
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
" ?, U- ^1 `# p# j3 M' ^- V0 o6 H- d# Q1 Z& C
注:如果方法1行不通,可尝试方法2(个人经验)。
1 k; L0 e5 g( C/ z( }* l# G/ V* {7 q
基本代数部分 ! a p6 G) d( c! O. P m
5 M4 r+ Y$ l6 G. L$ k. m如何用matlab求阶乘 , H, L" m8 F& Z6 i) W- l8 I1 O
V% O. r, x1 R
factorial(n) 求n的阶乘
$ ~2 C2 B) z' R: n& W( j, }/ C* Q3 F6 N6 i, o6 w* @( R+ {& B( o
如何用matlab配方
8 Z5 g3 _' _. S2 j5 ^# N( `8 E
1 s" T I. p' w6 Y+ w* F没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
% {8 P; a: I& [. Z7 _/ Q4 g: G% _5 q, H# u
首先加载maple中的student函数库,加载方法为:maple(’with(student)’)
$ l; @) M2 Q* V+ x& ]* d
; X# N* h( I5 d6 c9 g然后运行maple中的配方命令,格式为: 8 G5 p) X% C- G k- ^7 t" X# Y) |8 }
6 b8 [( V& m7 ?" t8 `
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 2 q. M; ]* a( o9 l( Q. D
+ `- i2 ^/ X2 F# g, i2 J4 }3 J; h8 E* J
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 & ~, c1 {- U! p
! a! m1 X* L5 o! V$ |1 R$ B. zmaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 - f. ?5 w5 }' M3 R$ P1 f
0 H( z, a2 a7 }
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
) t7 Q' t+ E5 G1 `& J
# p u. ?( F6 F; M- K x- ?如何用matlab进行多项式运算 % X( t) K" @6 J/ M4 u1 e
- M; x3 H/ \1 j% r1 }% b
(1) 合并同类项
. b% [$ ^9 C9 B% z7 r- [
1 ~+ n" a9 n# n5 D, P: E0 R& Lsyms 表达式中包含的变量 collect(表达式,指定的变量) . R( _7 F3 t: b( `# B
; P2 ^0 P+ n+ Y/ M! N+ S8 v(2)因式分解
6 B% {& I" R q- A! `8 ?" f* B; a2 }/ ^9 d
syms 表达式中包含的变量 factor(表达式)
^7 w: S' [3 i4 d/ Z, ?7 j% b- ]2 d! z3 p
(3)展开
6 L Q- q, B2 F
1 }0 Y ^6 B0 ` Lsyms 表达式中包含的变量 expand(表达式) 0 _3 l! C, `+ I/ H2 s$ n" Q
9 C2 g# b* f: b |2 h3 m
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: 2 b, a# S6 f. K# A0 G3 [5 j
9 h6 g" w+ @, r$ B Q8 } maple(’maple中多项式的运算命令’)
" J8 d2 w7 y( k& r! M( F$ U. F. G1 P- g3 n% ^
如何用matlab进行分式运算
9 M( y8 N2 P* x
4 l4 U( N$ S% d# u, k& Z9 ^* a) Y发现matlab只有一条处理分式问题的命令,其使用格式如下: ! {7 t8 ?% I$ G% f8 \9 y
: t9 a! g" p% u! z
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
4 F* e! e# M# j+ V8 P$ u/ c
; }7 T+ q( C, f) L$ K不过我们可以调用maple的命令,调用方法如下:
9 N- H7 A0 Q8 _% w/ I
- f) x9 f1 y# _& `1 E1 cmaple(’denom(f)’)
4 Z. z9 \! H0 l& c8 x# U 提取分式f的分母 ( l: c! Y1 W6 c
3 T& \: w1 N; |maple(’numer(f)’) ) G0 ~4 s1 w, Z1 R
提取分式f的分子 4 e1 g8 h8 G" ~6 X3 U
& n+ t1 b, ]: F$ G: I! Mmaple(’normal(f)’ ) ; Q' t5 S$ U* n. [# Y: k" J
把分式f的分子与分母约分成最简形式
" j3 e/ U" @9 C
l5 [9 X, ]3 r( c. n+ Omaple(’expand(f)’) 9 v+ G: f/ t% Q& B# e9 Q9 a
把分式f的分子展开,分母不变且被看成单项。
8 L, d1 W G, @9 n( r8 z+ Q" S 1 o5 i# J/ D& N" {9 Y
maple(’factor(f)’)
! [; K& z6 b k& v" X 把分式f的分母和分子因式分解,并进行约分。8 @( r7 p4 _8 n0 S
7 U( F1 d7 z. S# w, M6 n0 c
+ d: s$ E: s- S如何用Matlab进行因式分解 - q# L0 V5 a, d8 @) \ j: Z" S
4 n$ D' {2 @6 T% C9 e) B
syms 表达式中包含的变量 factor(表达式)
2 N3 e$ D9 a. S
& b0 ]4 I! V( } 如何用Matlab展开 & C: g `9 Z$ K( L8 z
: U0 `) o Q- M3 P) Wsyms 表达式中包含的变量 expand(表达式)
3 j( D- ?1 g9 j* S0 m" A5 h2 q3 D/ E! k! S& D0 y
如何用Matlab进行化简
# Y5 o, B5 q( W9 x4 R9 w* G
! ]! x6 m2 O' N% }" msyms 表达式中包含的变量 simplify(表达式)
+ V. \' a1 o( {7 T, P! @
. A3 t$ C+ Y% o \9 C如何用Matlab合并同类项
- R, q7 d# i: @* r5 d! O) x! f" r! h4 h# ^# }1 d* }8 A5 C$ s8 [+ w
syms 表达式中包含的变量 collect(表达式,指定的变量)
Y# X6 k8 t/ j0 P% y. ]6 k6 ?
8 a, C$ v+ F7 p' D3 C# v" E% }+ `如何用Matlab进行数学式的转换 * i* d9 o0 [9 r0 n
) z8 L! g/ W! ?- h2 m" }' M
调用Maple中数学式的转换命令,调用格式如下: " `' K0 f) C( G- M1 J; {) @; }
- a- J2 U0 @5 H% q6 e
maple(‘Maple的数学式转换命令’)
6 C7 i0 k+ p4 D) P
8 D( D# n( r& G, ~+ t! G即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
* s& R# }% U3 f5 J* e/ j5 W; I, N& q% M% j* A1 U$ H
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 2 I W$ e$ ~) W; O2 ?- e" O5 H
; N1 Z L1 K6 b; U
如何用Matlab进行变量替换 4 {; p+ L" t% Z/ ~
2 r& ~* t9 ~4 G& m, {
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) ! K$ h' N& }0 j7 Z$ A' q
$ y$ {9 |6 g9 |! r1 R4 v4 r7 C
如何用matlab进行复数运算
. J3 K1 A) b& M$ X
' z8 n0 {, n0 H7 b8 _. _0 sa+b*i 或 a +b*j 8 h L6 V N; r4 F
表示复数a+bi 或 a+bj
8 O' H: O3 a1 G2 u+ }! h
' G- } ~: { O& `) q" freal(z)
! q/ D" T! x* h" P 求复数z的实部
5 [' u q4 I, C& F7 f, C v: I
- a1 z1 t. b9 [$ t; Timag(z)
! t4 x0 R- y G) Y% X4 ^( k5 O 求复数z的虚部 2 D4 O' z( H2 h5 G- O- h3 M
! Y) `& S" v' h% H! z, L8 q" C
abs(z)
}- O u1 U: p& u8 F( B! X 求复数z的模
2 z: R) ~! u2 v; v 3 h$ I8 V5 ~' |( e
angle(z) $ w$ y0 }& ^( V3 B, z$ [/ e
求复数z的辐角,
6 _5 u1 q4 `( ]5 V" @ 2 a ?. w3 W. g- n' m
conj(z) ) p1 f1 d# R H8 k
求复数z的共轭复数
4 L' Q; `7 L' W! G- a! R- Q7 @% X 7 j; @4 W1 K) ?- g
exp(z) : I3 I. n4 B# _& x9 Q+ ~8 V& ]; m
复数的指数函数,表示e^z
. V' q6 j+ p; M( y3 Q* h 7 v* N" Q0 p2 F- f% i/ u3 L
, J9 s" ~. ^; V; |
如何在matlab中表示集合 - Z# D3 s+ b4 d, A [
( D6 }& W8 I, H0 m/ k
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
. V0 r% W4 F6 N8 C: m$ y5 o9 K6 o2 D
unique(A) 表示集合A的最小等效集合(每个元素只出现一次)
; H8 l6 E; L: M3 K: D
7 u8 m1 I! I6 O7 t/ a- D$ `也可调用maple的命令,格式如下: & c0 ]$ o! D$ ] J! f! X! `
5 H ^# d" v1 F* Z
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
6 }% ]& P4 z7 L- K6 _1 |. U, ^3 M V& N( A
下列命令可以生成特殊的集合:
3 L; g8 h+ r2 G! b
u; u! y4 L- l, h! J# P- ^maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} I1 r" F' F, G9 K
% q) A6 y' F% }
如何用Matlab求集合的交集、并集、差集和补集 1 ]6 \7 Y$ r; V( |. Q r3 i
, u7 _. |# G: D% z7 B! B0 a+ [union(A,B) 7 k3 L# g6 y/ ?
求集合A和B的并集
" ]+ V1 B2 p( C# `
* ?) v% b6 d1 f* R& c" f: ^intersect(A,B) 3 _! l; O1 F3 H3 V9 [ u# Y
求集合A和B的交集
8 a# A) N0 F7 k, k
' S7 o" z$ ^2 q# Fsetdiff(A,B) O, C6 b) l! z2 U3 I, u
求集合A和B的差集A-B
6 a2 H0 ~# i9 c9 {: g9 ^" Y" y! J4 T
' `. ~1 n, H. q6 {) C* D/ ?) ~setdiff(U,A)
; U/ k& C5 J8 Q" i 求集合A关于全集U的补集7 w+ j% m0 n* P3 y& o5 o
5 _5 P P% M6 ?5 e0 k" o8 E9 k& l
& I2 Y+ U6 E$ ~ v# x3 _- Z. ]
我们也可以调用Maple的相应功能,调用方法如下:
?% N( C$ \9 ^
$ I2 r8 h, L) x4 qmaple('用Maple求集合的交集、并集、差集和补集的命令 ')
6 o: C* D3 E, x2 u3 L5 \3 y+ o6 N1 g0 ~$ `% F: U+ k
具体地说,共有下列几个调用命令:
0 v) I3 v0 t. J8 U! k2 A% E$ L
5 w: W% [2 N3 U' z$ @4 l5 r+ A8 a1 a- Lmaple( 'A union B' ) 求集合A和B的并集 6 v0 b" O8 u2 A; Y# w
" Z5 b9 z) H0 P# _- M; _& v8 N8 J
maple( 'A intersect B ' ) 求集合A和B的交集 6 z" m& X, S- B* s5 a- {# ]) X
- O0 {2 l# f" D# |maple('A minus B ' ) 求差集A-B
$ @7 v" }2 W, z2 \0 H4 Z* D# F" M/ Y2 l9 {4 _4 V0 d! _; I8 @$ p r
maple( '全集I minus A ' ) 求集合A关于全集I的补集
/ Z L! O+ w% y! V1 B# D$ J. A% n5 b7 F Y( `7 l8 E3 x
如何用matlab排序
' B# f" l' U3 s. Y! O2 c; p) N; h I( ~2 ^( F6 H. b
sort(v) 将向量v的元素从小到大排列(升序排列) |
|