TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple 7 a7 V0 R" \+ G5 X/ u
# Y8 y1 H% \4 D+ s$ }# k(不用安装maple软件就可调用) & u, x* h3 ^. B' c1 f
2 h/ i' `" G5 O0 w/ Q! @! r
方法1: 3 R, y& u) }) {# x# I( K: V0 x
: h. p' U( c' I2 m3 N! Imaple(’maplestatement’) ( [+ S7 |8 G5 ]+ r7 S+ e
# \* r1 _7 R8 [9 B1 }其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 ) J8 f# ]4 p1 z' h b! y# X
* s( o. |5 x0 [, r2 P5 Z
方法2:
& o: y2 t5 {( g& ] h8 h, y5 h" _
( y0 f: x; t& c' tmaple(’function’,arg1, arg2,…)
5 |6 c9 r; F6 U6 o- d: k( }: g( e9 E5 ^0 {. G8 z8 k
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
/ J2 C3 i" J0 T. i& L& _& O, S: C; [( H
注:如果方法1行不通,可尝试方法2(个人经验)。 6 f: I- y) o" f; g/ ~ K& T
, t$ ?3 b" t7 o' q3 f+ E基本代数部分
2 L y# Z3 z8 g3 { Z0 B3 N }9 u- h3 [$ O! j/ t
如何用matlab求阶乘 ! a/ I8 C3 Y" h0 s" }* G
& Z* K- T" N! q U4 Pfactorial(n) 求n的阶乘
1 _; f/ f: T9 j* {& |
# H; D ]5 U/ \+ ]9 S0 `( `如何用matlab配方 4 f1 L& P6 n ~/ Q' M
, v \. |3 r2 L7 @- r- e' D
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: ; ~+ g5 f. R+ B9 _' r
1 o! M w9 W: z: ?7 V7 V
首先加载maple中的student函数库,加载方法为:maple(’with(student)’)
; V3 G; S6 G, C" V* L
& r! ?7 s; d6 v. @2 c然后运行maple中的配方命令,格式为: 7 t$ Y4 B- a! o: p0 n6 O% g
: X4 j( B$ e" \. f6 nmaple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 & v- L, {, N0 \/ U& H
3 D' H8 e, G- F9 A: b: Fmaple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 ) f, f# y3 F( N+ \
0 ~, b5 h8 x8 b, t. Y, }! |7 v5 o9 D: xmaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方 ! H$ N# L7 H0 j+ q Q, p, ^
" Q. s7 p8 P) w
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, ! I' a: D* @* a! e0 R; L# A
- M# k& Y. R) B' q, n
如何用matlab进行多项式运算
* e7 M% w* s0 y2 h2 y2 l. Y# a$ C6 T2 V
(1) 合并同类项
/ a6 r" B1 s, L( U2 R- o* Q- e4 @- S( L' f% v/ H( N3 w
syms 表达式中包含的变量 collect(表达式,指定的变量) / ^' Y3 ?6 k6 c$ y1 \: I% O6 J- k
+ v& N: A6 p& V# u; V1 j2 g(2)因式分解 ; i3 l. ]. p7 N- @2 f" f* w
6 [% {5 a" l: q. t' ksyms 表达式中包含的变量 factor(表达式)
' m2 [5 ~# P' Q- c7 Z9 s
; i3 e" E M; d, d: m(3)展开
' B/ |& {0 p' b/ I+ N* j3 A- t |( R! L+ L4 k1 I9 |: ?1 D0 L- O
syms 表达式中包含的变量 expand(表达式)
- @& g9 V$ P. U3 j( ?# @" c
& ?. w+ s7 e3 m0 ^) v我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: : T; Q u- t" A; Z2 u% j5 {
5 S- @; K% ^" t4 A7 s maple(’maple中多项式的运算命令’) $ b. E& z( D7 ?/ X. l
# ?1 y r8 y, g: I3 b' q
如何用matlab进行分式运算
* Z: i9 [% _5 {' f2 l4 k. t7 w9 `2 i
发现matlab只有一条处理分式问题的命令,其使用格式如下: * S$ C8 H8 E; \9 [# A; c/ [, p6 U( U
" G5 i7 N2 C, E' D& \" K) c[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
8 O( D" U3 l( F
$ U `) T+ _9 `- R不过我们可以调用maple的命令,调用方法如下:
/ |- S5 z1 Q( [ y$ E/ w# Y f1 n) }* Q& `" A& e# f
maple(’denom(f)’) " N# L! v8 F8 z5 I( l, t3 F' b
提取分式f的分母 0 ?! H' l* G& x& C# O2 `7 P
& w9 v8 N+ N" \- p$ i) m
maple(’numer(f)’) ) s- X' ]1 i- a5 M3 N* m+ y# F% K
提取分式f的分子
; W) _5 g. ^9 a. T# G) Q5 w$ e . h$ [; D, d {$ z: [: F
maple(’normal(f)’ ) 2 s; Q* c+ R& [: L9 w
把分式f的分子与分母约分成最简形式 8 o I% c/ B& @ W' f- L5 e1 b
1 u# q. V5 M" C& N5 S3 emaple(’expand(f)’)
! y5 r9 n; M2 |% H" S% o! _! N 把分式f的分子展开,分母不变且被看成单项。
9 h: g8 C1 d% [# f$ ^ 1 X( d% }5 h: a G! T
maple(’factor(f)’) # d5 C0 Q. W6 ~. O$ J, @6 K6 e
把分式f的分母和分子因式分解,并进行约分。6 X! X" n5 C2 T* T1 G
. {1 a1 T% i% a! M* ]: C
+ {0 Y0 }$ ^; |# B# Y如何用Matlab进行因式分解 5 ^8 `/ v+ [, z$ w2 B% N" x# E
& u9 P$ g! N$ i, {# E/ Vsyms 表达式中包含的变量 factor(表达式) 8 K- K$ K F) {
$ d5 V9 O( \) X: U$ o p
如何用Matlab展开 & G* y& B% P. l. e8 [
' ~3 a q" A0 d2 p7 G3 ?syms 表达式中包含的变量 expand(表达式)
6 u& ^0 M+ [/ r& U9 f
8 F( c) ^4 Z3 a3 q4 b8 ~ 如何用Matlab进行化简
! Y( R; c! X8 `: [# X/ p3 o7 x5 ^. M/ v' R- A
syms 表达式中包含的变量 simplify(表达式)
- M% N" P0 D7 `
+ c: d- p" o3 D, }$ H E' S' X如何用Matlab合并同类项 + Y0 R% r* @0 L5 g' F
% c q7 o9 T; \( v6 I& n+ a
syms 表达式中包含的变量 collect(表达式,指定的变量)
' ~: f* a' T% t& H6 H6 _8 A' W
' l# Z- t P/ {/ d如何用Matlab进行数学式的转换
& l+ i! C) Z) m& r# L
* b- V- }, `' H3 _; B- B/ _调用Maple中数学式的转换命令,调用格式如下: , u7 E7 a: l' A2 ]; z! B
% v k q- B% H% y% N, \+ y5 smaple(‘Maple的数学式转换命令’) 1 W- C" Q- j3 s6 F* i" s
9 j+ O/ D) M# x( G& t即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
7 D, k3 ?& v* c: R' a# F1 M, H2 W& a0 s" k N/ U1 Q" O' ?
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用)
2 b% s g# V7 v% E6 s% v
& j: l& d1 O3 ^. L) h7 c: [% t如何用Matlab进行变量替换
( F$ y( I( K, e. d/ B0 p- G" X/ w3 T9 X- Y7 y4 p
syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) 3 J7 F- T1 K0 [2 ` k! i" E) S
5 @( B/ ]8 r p: I: c1 g1 `, y 如何用matlab进行复数运算
; d1 V$ w, P5 ~! I- L. o1 [5 k, a/ i# Y! W J M! x; ^$ W
a+b*i 或 a +b*j
( z) c5 I& d6 ~ 表示复数a+bi 或 a+bj
& F+ H5 B3 E$ O! D 8 O1 I) C( a0 n, j# r# D
real(z)
% V0 u. j; p7 P$ H 求复数z的实部
* B8 e" o/ F1 v' x
5 A9 h4 I! k8 d. F# `. J( Gimag(z)
' g I) \2 w1 ~/ S0 L3 @9 Q 求复数z的虚部 . P- [4 \# z$ `* V2 v4 r3 v
( ~! o8 {( M- U' C6 \
abs(z) 2 [) J7 Z0 |' @" w" J9 v
求复数z的模 9 l4 c( {- k9 l% M( r. d# \
) T) d P5 l1 u- ~
angle(z)
2 H8 a0 m" G7 ?9 K6 `5 j 求复数z的辐角,
( J% }7 G$ p! L( o
- t+ s& H) h" c7 I( Fconj(z) 5 Z' X6 T( x9 w! O6 T: j
求复数z的共轭复数 , S# x9 Z( F K) w4 w) D7 S; P
+ I4 m# V* g9 T* X& ^1 C
exp(z) b) i; z5 S& h- J% q# |) A/ N2 g* V: s
复数的指数函数,表示e^z
$ g" H' _# ?* `( r/ Z6 D0 A9 N3 M
* u0 C, u7 z7 ~0 o$ R7 u8 J* a
B. R! a& V0 Y f如何在matlab中表示集合 ) X6 l7 A/ w+ X
1 S$ B" Q5 w- G# m+ Y6 i
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) ; d1 t( h0 ~0 Y; g
3 ^! X e) i% g8 p7 Q( a( H
unique(A) 表示集合A的最小等效集合(每个元素只出现一次) + o& R5 o7 ?+ I6 E0 M
6 `" G. u4 c* W4 e O) M也可调用maple的命令,格式如下: $ s8 E" n" g( E; B; C
- ]1 l* D- T2 C
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合 - d( f' I9 ~3 k4 s- z
5 e. X8 S& W. ?8 I
下列命令可以生成特殊的集合: , _! ] j8 ]" | I
( C0 S# K h0 e: }" k
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
8 m2 z( Z1 i' w7 V' k6 m) E7 V K) A; U6 p* v8 ^; ^+ _
如何用Matlab求集合的交集、并集、差集和补集 + a) J8 G$ a% d h- O9 N+ x+ `
1 B1 G8 @; U7 v8 h4 J- B. [union(A,B) * A' f6 @' f0 H& k
求集合A和B的并集 ' g6 F8 n9 w: {0 O
3 r: r$ s5 X1 |3 F. N [0 ~* [/ ~
intersect(A,B)
" u6 a+ M7 g3 v3 P8 b# r 求集合A和B的交集
+ m" r. n# Q+ ]5 v v
+ u! K/ ?- w9 X( R" A9 c, Psetdiff(A,B) 5 x( w3 ^! X0 w
求集合A和B的差集A-B
; X7 T2 T( J: h3 V: s
9 b5 b1 z+ |4 l9 {( g0 v4 \! usetdiff(U,A)
8 _" \- ]2 ^) e9 [! B% L, f6 U2 j 求集合A关于全集U的补集2 |. A* z. ^& U8 W0 S- r
/ y; x2 f/ c- r
$ u4 o" `9 B( |$ o" {0 C' i: S: I我们也可以调用Maple的相应功能,调用方法如下: ; ^$ b& d# r9 r2 M. e7 | v
! ~2 a4 U# V/ ~* x2 c, ?# ?
maple('用Maple求集合的交集、并集、差集和补集的命令 ') 1 K! J: c- y" R3 H7 I
4 E' o( o8 b1 z$ p
具体地说,共有下列几个调用命令: 4 Q' S+ a0 G9 h/ K2 D% t3 l
) s1 w- n: u, C7 g
maple( 'A union B' ) 求集合A和B的并集 : q* Q% ~6 R2 {: I7 ?+ \
6 k# P, a# R4 P& k" y
maple( 'A intersect B ' ) 求集合A和B的交集 4 q8 \2 T0 e9 v9 \3 x! i. q
& ~+ @* n' f) ^( h( bmaple('A minus B ' ) 求差集A-B % x) r( Y4 ?0 Y% ^3 T2 q L" }
; W4 b! A6 Z, r
maple( '全集I minus A ' ) 求集合A关于全集I的补集 . G$ k9 E* t- |9 [- g
) ?. C7 G& a4 t* x; I
如何用matlab排序 # _. J8 L1 Q- v6 r5 G$ \7 ^
/ D/ r& u g0 O
sort(v) 将向量v的元素从小到大排列(升序排列) |
|