TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple . G. i; E$ f2 v; a4 |: F6 ?. n
. e. Y# _3 u' e1 p(不用安装maple软件就可调用) 1 I% R) a" v' u; t* m' E4 S
2 ], T- z* X; }1 L方法1:
' g0 Y5 b# H1 w# C4 J
' I5 `' k8 L! j% i" mmaple(’maplestatement’) " [# _6 N) n: |4 r
- U6 }% s8 C9 c8 e其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法 & T$ |; Z, J# }1 y; n, m
* t1 V+ }6 [" D/ X( {% A. N
方法2:
w8 R B: X4 O0 I' b/ Q3 S. D, G8 `+ A& A) r
maple(’function’,arg1, arg2,…) $ i+ {4 w; b: `" w
0 ^9 r4 B9 Y$ G) @其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。
+ m/ {. f3 }$ P1 P
% o+ L+ G1 U7 f注:如果方法1行不通,可尝试方法2(个人经验)。
1 u4 {! ^# G- W8 ?* r2 g* l" Y- q0 G7 n; I- z! k! o' G
基本代数部分
. o$ t7 n& `# f! \& S( N5 u& b
3 C" V( Z5 e$ F- }3 P5 B* ^' }$ t$ ~如何用matlab求阶乘 9 ]4 N& Y, [% S
9 K9 G* K' S& ^! i
factorial(n) 求n的阶乘 2 k! b6 E# C! J; ?4 |8 |& [& W
4 z |, ^# K& @9 e6 t M如何用matlab配方 8 H/ N7 i" A! i- q, G
/ X1 [, ?! z2 i; K# }8 z Y; q* V$ I
没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下:
% ]1 U* H8 G# s8 B0 R: m7 S5 r0 p/ }+ S* {$ `; c; l
首先加载maple中的student函数库,加载方法为:maple(’with(student)’)
# U' `; W) n0 W1 c3 S2 ?4 x) Y7 L9 f Q* O h( n# B5 E
然后运行maple中的配方命令,格式为:
3 [" A7 k# D/ i$ A S) c i! @1 s+ F5 w. M; r
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 * J) x8 L; G% B4 J5 f
% `# s+ J* ]8 P, ]maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 - @4 L* E$ e0 f
% d7 b; H: V" `4 Smaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
+ ~& M+ M, X. H1 J' e- |( ^' S* Z* S9 F! N: u1 _
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, $ {. ~: v* Z2 [8 D* G2 Y3 a4 C
* A1 H3 @1 F2 ]如何用matlab进行多项式运算
: E! p7 ]' A: d- u) b/ g8 z6 O! W5 y, H+ F
(1) 合并同类项
. \$ }, h) N* d& m4 g$ B7 o5 {8 h% X! ~/ u1 ~' k3 u& e
syms 表达式中包含的变量 collect(表达式,指定的变量)
' `5 F) ` u7 Q# S& k% G) R8 S* | N9 U: P$ t% u) V& r
(2)因式分解
& W8 X( W4 j. a. n$ m/ \5 \; B
syms 表达式中包含的变量 factor(表达式)
, y" R1 R" M0 X7 O1 p
, Z7 v# }9 X a; u# ~, O(3)展开 ( {& h' S+ a' C, i$ L
4 u6 Z0 r! {4 }: c4 L* `. W+ S8 ysyms 表达式中包含的变量 expand(表达式)
! U' R- n9 f! I, u
/ X$ ^; _9 Y% H4 g2 H我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
. D5 @) K9 Y; e' V1 T% Z* f- p6 Y) K( u1 X6 J& R
maple(’maple中多项式的运算命令’) 2 o* I7 }3 c4 K. M( u A0 y
3 O! y$ k5 R Z8 r6 G( R$ k* G如何用matlab进行分式运算
% e: y2 ~, }1 ?, G' P5 B, ?
+ x/ s& \. R; N9 e4 d5 y发现matlab只有一条处理分式问题的命令,其使用格式如下: 7 B9 b& T- J3 _/ {
; `% ?" O0 S4 a+ X) P; O
[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
( Q' b8 [8 o% [+ `
4 m/ O# I5 w% k不过我们可以调用maple的命令,调用方法如下: # n5 K- z* ~7 f2 [
$ f4 F E7 X1 p4 Z# ]0 H( N( j/ M
maple(’denom(f)’)
+ \" d* P7 L3 O& [8 g# s* @8 q' y1 r7 r 提取分式f的分母 3 Q; J' k4 p/ E% Z+ x4 @/ Q
5 o* E) g0 {, U8 |# X/ i8 `maple(’numer(f)’) 3 E4 j9 z$ k. Y9 |+ t
提取分式f的分子 % I8 p0 i5 Y5 s0 n8 _! D5 n! ]( d" w
8 z `. ~2 k7 o4 ~% [
maple(’normal(f)’ ) ! Q. z! z' R7 i9 G$ u+ h+ e- f
把分式f的分子与分母约分成最简形式
5 v% o6 D. ^4 Z3 I# i & c. l& @, h$ p6 y8 O% y8 i
maple(’expand(f)’) ' y; S/ h$ M c8 v
把分式f的分子展开,分母不变且被看成单项。 * E, @" j7 A) O
5 j7 ]9 c* [# B5 Y
maple(’factor(f)’)
7 z. V7 a$ I/ ]4 b7 O 把分式f的分母和分子因式分解,并进行约分。
- u4 u- t+ ?! j* I ' ?% W- c" n1 A/ y
# b) f# w7 f+ i. k: |7 K
如何用Matlab进行因式分解
4 ^/ Y \+ A- ^, S8 d% O, a
5 s$ _0 [0 ]2 L9 Asyms 表达式中包含的变量 factor(表达式) # ~& t' V5 {3 v$ X5 i
8 _" }3 |7 m1 @8 i 如何用Matlab展开 & A7 B' i6 r% G, o. `% U* i
5 l& u) I+ ]4 C0 Z5 Osyms 表达式中包含的变量 expand(表达式) X0 K7 P6 t. M) Y- I. z
* {* ~ \3 }* V% ^: I2 ~1 P) f 如何用Matlab进行化简
0 y7 M- X; b8 R0 c+ W% K: u/ R0 p4 t( V7 A7 A6 |
syms 表达式中包含的变量 simplify(表达式) , F1 p' \+ w) q. {# G+ q+ @! V
/ }- ?, l, \2 N. B如何用Matlab合并同类项
; v. `0 m/ u. z; v ?: z E
. H _% ^4 _% D, k6 Lsyms 表达式中包含的变量 collect(表达式,指定的变量) " d' E7 K8 @: U+ O# j: D9 e
; S# A( `8 _4 n5 O如何用Matlab进行数学式的转换
p. v3 d& d ^3 ]# k9 y: k
+ D, o0 h; C1 D+ \9 T调用Maple中数学式的转换命令,调用格式如下:
0 t6 C. v& O& ^4 W7 l2 U( ?8 b8 I; M( m# a; Z5 y/ z4 V
maple(‘Maple的数学式转换命令’)
) |4 C( H' y7 |, ]+ ]
. f8 I" X! L8 d G. h& S' U' n即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式 ! I7 w1 p! X) U W7 F% | p; }/ g
8 |& r* m6 n- R: F1 _
maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) . l: S8 U2 d; r5 Q. c, r4 _
2 o5 `' w% U; j' s1 }- @1 u
如何用Matlab进行变量替换
4 r6 l8 a3 w2 ]$ _/ {9 y; E" v" ?
8 c: X' |9 p; Jsyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) 8 q6 G5 I5 x& `: o# y, a8 I! a: n) V
9 ~' e U3 M9 B/ `
如何用matlab进行复数运算
1 `- E* H- c1 t8 |: q" |
, o; j3 ^& D# @: H) Ia+b*i 或 a +b*j , j' M! W W; a) E& t2 Y
表示复数a+bi 或 a+bj
+ r) `8 Y- R. `; ?* o
+ O$ j3 l5 O$ \" }real(z)
* y6 k0 I& x7 z9 O2 T5 ~. { 求复数z的实部 * S8 a9 M! M# C$ l( `) @' y
6 g; ^/ T4 K4 C8 f2 M# N0 A$ y: B
imag(z)
+ L3 H1 N& u5 j8 E7 o7 d 求复数z的虚部
1 T4 P k. M& Y' ?
' l ^' ?5 [( ~( \abs(z)
) u m( Q4 f/ ~( g0 N2 g7 U6 { r6 v* G 求复数z的模 ! x- q' T# {0 @4 |' `
# `1 j: {! s# [4 L: h' b0 E5 N
angle(z)
+ b% B* Y# R8 k) G 求复数z的辐角,
8 e$ ?- w- c$ \1 a 0 N$ u1 A0 h2 {
conj(z)
* O6 W8 ]: o0 z( t! o 求复数z的共轭复数
+ W9 E* ~: E8 F
8 B4 [& x4 y M0 l( bexp(z) 2 C d& m0 B: h, U& L. c2 E5 C# T+ y
复数的指数函数,表示e^z
# j$ L) [2 M) b( I1 _
' I& |! `2 A, \! U4 m4 D: ^8 X4 A' \( a4 @4 o
如何在matlab中表示集合 3 ]. R4 `5 U6 n6 X; G
5 ~0 z% x2 Y p) ^4 m* S8 v% K[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
* Z2 B. G5 b3 ?7 k/ E2 M
0 e. P; V5 G8 v6 y) g, x" a7 C1 Uunique(A) 表示集合A的最小等效集合(每个元素只出现一次)
! M; B9 I, w( w/ B0 y. d# m" d0 ~' O3 ]$ N
也可调用maple的命令,格式如下:
4 L6 ]1 a# l7 F7 m
7 v r# W v& j6 i/ x0 amaple('{a, b, c,…}') 表示由a, b, c,…组成的集合
0 i2 Y& h$ Z' S1 Z2 n; t; I% q+ l6 c, O6 ?; r6 S( V4 ^
下列命令可以生成特殊的集合:
# z' G ~& u! G+ D% b* \* |/ c% M1 r. M3 g, E# n
maple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} 2 k/ ]# }2 h5 n, H, W7 n
1 D# d9 P6 Z5 N- t如何用Matlab求集合的交集、并集、差集和补集
8 l; G$ M/ t' [2 P/ a1 M9 b% J9 p$ H3 q7 o3 l
union(A,B) 6 Y; X u; _% ?3 q. A
求集合A和B的并集 7 y6 q+ K% L7 k1 X7 X" M; o
% x) m( H" Z9 S9 `! g
intersect(A,B)
+ F# ]# L3 d5 ~ 求集合A和B的交集 ! V X( n* w9 d
1 k$ [( o( _$ e% o! \5 ksetdiff(A,B) , O; G0 m, l, i; l& Z
求集合A和B的差集A-B / u- Y% C7 c; V# p% i* h
+ d4 T: {4 ]* Y- d/ l' K) psetdiff(U,A)
/ l1 {. K, [, {' l9 Y" U: Q 求集合A关于全集U的补集5 B& _7 o' b# s
! p+ C( S5 P3 R& R/ H& K T2 Z8 y& S2 m
我们也可以调用Maple的相应功能,调用方法如下: : g- J3 l- X7 |- [0 W
7 I; A/ X7 I4 n: v* |& Ymaple('用Maple求集合的交集、并集、差集和补集的命令 ')
! }6 Q; Z$ F# q
" D5 O3 A" r' h+ N# x6 G具体地说,共有下列几个调用命令: ; Y! e9 v/ h/ b# ^6 ~; O- N
H# w. N7 @& [5 ~5 t8 N: p1 C( Pmaple( 'A union B' ) 求集合A和B的并集
# |( }% i3 J; ^$ b% }2 E( a7 @' l4 M1 }- @! }
maple( 'A intersect B ' ) 求集合A和B的交集
+ A/ ~: Z5 B4 z {, X- h2 I2 z
" f: D, i+ J% Y1 U4 Tmaple('A minus B ' ) 求差集A-B
0 e# _' B# N |* F
( ] w! h+ f. |7 {2 c9 F$ ~4 Cmaple( '全集I minus A ' ) 求集合A关于全集I的补集
+ i+ C: L2 N5 Y' H; m& u5 J
( N; |6 z' |2 d9 E: ]& L% U2 t如何用matlab排序 $ u8 M U' _$ i8 ?0 u
7 P# D4 P! h7 {' lsort(v) 将向量v的元素从小到大排列(升序排列) |
|