TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple 0 d5 ]& E# I' f
) w8 K; f; u0 o6 n# i(不用安装maple软件就可调用)
$ J, J$ q# o' @ _5 x! i
9 Q3 U. w. u$ Y- i# t, E# M. D方法1:
4 H- P9 D, V. g- t4 J
! h5 A* D2 S4 v" _$ tmaple(’maplestatement’) ) A( o* n2 o; [/ C
/ {9 H5 T! C3 A! R5 w1 W! {; g其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 ( x) l' ~; l# D/ [; g
5 a+ }# x, f2 {7 d
方法2:
9 [- C" i w" u; e O/ U& k2 u) Q- F! D, F# S
maple(’function’,arg1, arg2,…)
4 a8 N, F: N2 Y" W! a2 @
& Z- s7 R6 u2 b; p其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 . f- T1 z& O3 t+ [" ?: F
- X% O: k. Y2 O0 F; h- R
注:如果方法1行不通,可尝试方法2(个人经验)。 # a$ F* w$ ^1 i5 o4 _$ L' @
0 M; w! _: s2 H% I& |9 P
基本代数部分
# Z' O4 R3 G6 o7 n1 q0 W: |6 |9 R
- W9 W4 F/ w# R% h% B; K4 R如何用matlab求阶乘
z; S3 n3 H2 A$ C4 u4 ^% Z: T9 l
factorial(n) 求n的阶乘 / d, W$ ?7 d0 n
- E4 d5 v6 @) P& r& |' ^7 u
如何用matlab配方
+ k& J- n) L2 r2 |: \& D, q {& b) _" o, c0 g
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
% c# k @, A# e8 Z$ t) I) G0 Q
9 [; z: t. V1 y" N7 F3 A首先加载maple中的student函数库,加载方法为:maple(’with(student)’) ! S) u8 G, v0 g2 @; ^
& F8 c. N3 \7 x% }* I9 z- R2 x( [
然后运行maple中的配方命令,格式为:
1 G" e) A3 j+ S0 R1 i$ S$ L* \6 u6 E) }" }7 U
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 ! K& x" i% p6 }& C
) E) R: v% H6 n& y+ ^% U
maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上
6 w4 Z' e9 d: p- F+ U7 T3 M) ?
: `/ `2 ]7 B% p4 K% y) x% B! `2 ]maple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
5 w+ v5 t8 w5 v
) W. c2 a8 I1 Umaple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方,
5 D7 p& t+ J" `7 a5 p6 R& E* w' M, [! I
如何用matlab进行多项式运算 ( O+ j: b' a2 ~1 c0 }
$ |# a& d. @- ~+ k( v) ~(1) 合并同类项 & I' @* y- s% g! Q R9 u& _9 L! J4 A: n
2 u' n. p7 ?4 h1 _( G$ g+ R9 E$ [: |
syms 表达式中包含的变量 collect(表达式,指定的变量)
* p/ X: {) Z; @) A, p0 ^
* O! W' s8 l7 R4 K# ~+ B(2)因式分解 , s; h& i% N) ^9 o" ~1 p G
( j# l4 {; F% k0 i9 V6 Osyms 表达式中包含的变量 factor(表达式)
7 v2 x) u: P/ D; F
+ i: F7 j4 { U(3)展开
/ J- z, |' O7 R2 r6 M- G# R8 S5 r$ e* M, X
syms 表达式中包含的变量 expand(表达式)
* k' M0 q( w$ H* S7 q+ O
- L! e+ X% k0 \+ l我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
- @& X7 W$ M7 ~7 G7 z9 S/ K6 ?4 c g1 A0 }6 p; y9 W& f
maple(’maple中多项式的运算命令’)
0 C9 N* s. L' D- i8 @! F2 a8 d* l
如何用matlab进行分式运算
0 {& L+ {% ?$ j: O" h4 V
4 y3 l4 q5 y& j$ S) \发现matlab只有一条处理分式问题的命令,其使用格式如下: ' P! l1 d# ]! i& P m
" q: i2 G; e2 f[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
% X. A: s; }# a' _7 }5 T, D8 @+ Y; F0 k9 n L7 x
不过我们可以调用maple的命令,调用方法如下:
/ _5 D) J6 [; I5 Z/ P- |" H
6 `+ n$ S* w# E! t2 mmaple(’denom(f)’) 4 ` @) d$ M m
提取分式f的分母
2 R; z6 f7 j u7 R
; ^3 p4 h- Z- ?. z4 `9 omaple(’numer(f)’)
/ |" P3 u9 H2 X+ Q+ S2 } 提取分式f的分子
* U6 N/ x7 q* D d5 P8 f( G , \+ |4 @: A# ], s1 z; z& L
maple(’normal(f)’ ) % Q6 X) l% S% v7 b8 `3 m5 Z7 V
把分式f的分子与分母约分成最简形式
5 m7 x3 f# r+ ^; `) l7 e. Z $ M0 b' m& r5 N2 C* C$ p @
maple(’expand(f)’) ' Y% C P- ^: J3 O5 @
把分式f的分子展开,分母不变且被看成单项。
+ W, M( a5 G+ t+ Q9 A 5 @* p/ @- F5 B
maple(’factor(f)’)
) A; F! F3 l: f 把分式f的分母和分子因式分解,并进行约分。* @4 {$ ^/ a: R, m
2 R, k( \, K2 y9 H! C/ t! `6 P, H5 x( X' P, T
如何用Matlab进行因式分解 * T/ o$ n- c- D' }6 b& y8 x- l
3 \- |6 v! C1 @0 Q3 }8 p8 n" p
syms 表达式中包含的变量 factor(表达式)
7 |+ s' f, o, C7 h
# v) V1 H- L4 c& E/ ]( [ 如何用Matlab展开
+ w+ H: a6 {1 w1 n1 Z. m5 d
B, _, b! l8 \, Y; r& Fsyms 表达式中包含的变量 expand(表达式)
: s2 [9 N( l- n" B& f& g) T: a
+ ?- _* V: {& C8 H) Q; | 如何用Matlab进行化简 - K) D" B6 ]- s
2 o( u" c0 H3 K! W% j$ x/ {syms 表达式中包含的变量 simplify(表达式)
; l8 F- G- J: m. z, l& F. _2 Z4 n9 f1 N5 c6 p6 R7 c
如何用Matlab合并同类项 2 M( d4 }, x( f5 K2 k1 C' [
7 W, x1 D" J. e, Y! h, V3 B9 m
syms 表达式中包含的变量 collect(表达式,指定的变量) + J; W0 O9 C0 Q
6 I, ?3 ]6 F! w
如何用Matlab进行数学式的转换 " |$ q/ O' l! m; v! R' ~& m8 z
+ @4 w) p$ k8 O) K2 f调用Maple中数学式的转换命令,调用格式如下:
9 T! q3 Q1 f+ J+ N2 z
/ J7 S* G" N8 b+ b: Jmaple(‘Maple的数学式转换命令’) 5 w J( K4 l- t
8 D# |5 m, D. }/ b5 m0 Y) X
即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
2 w( o! I( F. [; C/ ~
; Z+ E' g; R( N4 h0 h) [+ i7 o3 G6 o1 L; Smaple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) / \5 N" C' Y% \
- M9 E5 c/ H/ i2 |1 X如何用Matlab进行变量替换 8 |" t/ l$ O4 ?" P3 m
0 X) O; h: ?& ^* Dsyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)
0 l1 F* [( c0 B# y# f% G* n6 \+ _. h1 B% m& N3 h6 b
如何用matlab进行复数运算 2 C( a, t' @- y
" {$ z" j# A# I6 I/ S# u
a+b*i 或 a +b*j
. Q+ A/ T3 n9 P; g 表示复数a+bi 或 a+bj
. e/ Q2 u) q7 J* K$ B+ }* _/ N
4 T8 `1 s# D. g% B$ Mreal(z)
" C' d+ R" p% f P; w! E 求复数z的实部
+ }" C( |4 O1 P3 h. Z' y
5 v" g! R8 n1 Fimag(z)
. u& T8 e+ y# F2 _- C5 E! ^ 求复数z的虚部
% T E6 {- m0 \
; u$ A" z5 b; X+ c8 n& G5 ?abs(z) + V0 X7 B, X. Z; w( Y6 c
求复数z的模
; O9 c1 `: W$ P; W# K
( u4 U+ \+ [) t+ Zangle(z) - d; t- l4 @* H+ a
求复数z的辐角,
. E( W$ c6 O2 Y, E" r& n; H ; b" O5 o% k6 K2 D$ H/ p
conj(z)
8 q0 p* I; F# s9 g 求复数z的共轭复数 j: |- V+ n" C8 {
7 k! M1 j1 @. z! c
exp(z) 4 a: R% q4 k( q
复数的指数函数,表示e^z. ?; w: \1 Y) J( n
5 t% y. |# D; Q: f) S! A3 X
, Y9 g @5 c/ X0 o8 V- D W
如何在matlab中表示集合 : z, R2 Y$ j4 N- b4 l6 `' _
" I2 x$ | W) h" ^/ J8 ~: R" h x
[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开) ) n( @1 ]# q. [4 R
9 ?( @$ H1 p' }+ }, Nunique(A) 表示集合A的最小等效集合(每个元素只出现一次) , k2 l) }" ^* h: g$ X
' Q" O- o4 U6 Y. a# u4 q也可调用maple的命令,格式如下: + F& T7 g& x' f9 H4 e% x* s p
; x/ b2 p+ B8 P# umaple('{a, b, c,…}') 表示由a, b, c,…组成的集合
; ~) ?9 o/ ]3 O7 c' @. A+ V( C6 Z% W6 Z: { @; E" \% p5 L6 n
下列命令可以生成特殊的集合:
% t) ]3 g5 F. p% |, Z' ^! A' ~9 B8 w# `9 q) d
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)}
9 V1 Z1 y& N ~1 B% @6 @
0 v' a5 G R8 Q' ^9 [5 q' |如何用Matlab求集合的交集、并集、差集和补集 ( W5 w; j* N8 @3 r% L. u( `" T
; U" J4 d, h% h% J+ n! {6 u8 I
union(A,B) V/ l* C# _+ a4 ^& ]6 [4 G3 \) B; p
求集合A和B的并集 3 l6 P% q( }7 o, f% x" H
7 u4 {+ {) O1 i
intersect(A,B)
- R: F7 }( Q- {( N! S 求集合A和B的交集
m8 f# z7 u6 p F t" } e. |& Z* B9 q6 m. n
setdiff(A,B) 0 R2 i$ ^3 z4 k: f x
求集合A和B的差集A-B
! x: Y+ `6 I' Z 4 E. o+ V6 @8 B. e1 o0 y( ]
setdiff(U,A) * e- F4 v/ `" Y% f q6 s; F
求集合A关于全集U的补集
1 k$ T/ s$ r) D* A9 m/ p; y2 Q Y* r 7 k( ~: ]' `: Z$ C3 W9 N( U$ s
( p) d$ w: m2 W6 A: O+ |
我们也可以调用Maple的相应功能,调用方法如下: % [) q! U3 e" T7 _. J I- h# g$ ]# |
9 W8 r- {' E" ~7 _4 n9 _maple('用Maple求集合的交集、并集、差集和补集的命令 ') 8 z i5 t8 S ]( R5 Y! m8 ?1 \
6 m. |( s% ` S
具体地说,共有下列几个调用命令:
; Q$ p& |0 f$ I* I- {
2 t# ]% G$ [" g Y& smaple( 'A union B' ) 求集合A和B的并集
4 \% i$ h. x( B! k) i* A* ?* s. ^7 [* r* g/ e
maple( 'A intersect B ' ) 求集合A和B的交集 ; z- Q: \- s% N. H/ U
. M$ F1 w0 z1 n6 ]! f0 j* g8 rmaple('A minus B ' ) 求差集A-B " E2 v+ L- X& d, r1 L+ C2 t4 v
, z% x7 P+ {0 L
maple( '全集I minus A ' ) 求集合A关于全集I的补集 a) X; m5 f3 V* C8 {1 r$ Y8 E
Z% I, o; @ t2 u" e+ p Z, {
如何用matlab排序 S6 Y, Y0 ^, Q$ j
7 @6 r9 e F& g! A! _1 x5 K
sort(v) 将向量v的元素从小到大排列(升序排列) |
|