TA的每日心情 | 奋斗 2024-7-1 22:21 |
|---|
签到天数: 2014 天 [LV.Master]伴坛终老
- 自我介绍
- 数学中国站长
群组: 数学建模培训课堂1 群组: 数学中国美赛辅助报名 群组: Matlab讨论组 群组: 2013认证赛A题讨论群组 群组: 2013认证赛C题讨论群组 |
2#
发表于 2009-9-9 02:16
|只看该作者
|
|邮箱已经成功绑定
如何在matlab中调用maple 5 c% M5 \$ g( @
" Y" D7 X* B6 Z; z5 T(不用安装maple软件就可调用)
7 S: X' b! N& W7 a( I' m# k; V2 g1 M# V! X1 L; O" U
方法1: 8 h9 a* m, }* f4 l0 V$ W( {
- ~: ?2 V3 v/ _' V1 p: ~, u' Y+ U9 w
maple(’maplestatement’) . O9 |4 |7 M8 @2 `, d: l9 \: l
. [9 ^) E+ B2 G
其中maplestatement 是完整的maple语句,由一条或几条命令组成,必须符合maple 的语法
) C, {7 G- I2 O" N- i
_: d$ M* d! K+ a; v. t方法2:
! x; R2 R2 E7 ? G6 O! b( e6 n' j& U; P! o- X6 ~+ }. e" [! O
maple(’function’,arg1, arg2,…) ' ?9 S# G& o/ L+ ^
0 ]' P& q2 W. \5 v2 H/ b7 n
其中function为maple中的函数名称,arg1, arg2,…是函数function所用的参数。 % B9 z: O, |. j6 U
. G/ k5 ]2 Z9 b C* Z, `5 g
注:如果方法1行不通,可尝试方法2(个人经验)。
$ J' \! @$ n! s4 i7 j; g, u2 f2 W; g) f3 i" `' W% I, W# t* Y) ^
基本代数部分 ( u- _" B1 y0 Z& v9 g4 Y2 p6 u; p
% @$ n( L; d6 j" i; j7 s6 p h( X
如何用matlab求阶乘
, l( z& Y8 r& j- K+ j# Y
- r/ x, m& p. ufactorial(n) 求n的阶乘 1 z! T6 `( {- @2 B: y9 i0 i: Z
0 M$ L+ |$ ?% V& o
如何用matlab配方 # Q" y2 F4 K( b' ]3 z
, H: ~9 P8 F/ y' T* O1 n' u没有发现matlab有这一命令,不过我们可以调用maple的命令,调用方法如下: 9 E! D+ o9 Z% r$ h
7 u1 C9 |3 D% J% o' S4 n( ]
首先加载maple中的student函数库,加载方法为:maple(’with(student)’) v1 I/ ^- X7 q; L
$ Q6 M, e$ x& j c) F9 j. i3 {然后运行maple中的配方命令,格式为: 5 R9 Z3 t4 u9 S$ j% {& W1 Q. d
5 V6 l- _5 e+ m7 I: O
maple(’completesquare(f)’) 把f配方,其中f为代数表达式或代数方程 " e1 V# g& Q5 E; n0 J5 ~8 {3 U
& w$ N3 h+ ^. M# ~! @maple(’completesquare(f,x)’) 把f按指定的变量x配方,其中f同上 , Z% q3 r' R* J( l& X+ o/ `% G. X
% t# }" L, W9 J/ B- t8 wmaple(’completesquare(f,{x,y,...})’) 把f按指定的变量x,y,...配方
' F& t+ q6 w* K# W; B0 ]3 C2 D' k) e6 ]$ F
maple(’completesquare(f,[x,y,...])’) 把f按指定的变量x,y,...配方, ( m7 y& S) a% t' I
( R8 Y& W" C4 Y如何用matlab进行多项式运算
9 a) C9 M# G6 Z- v5 r' {/ N
- x. t& q9 n$ |0 W4 P5 ?(1) 合并同类项
* _9 c" O! h$ O: h( z6 x( q9 o2 u4 M6 f! @8 ?1 Y
syms 表达式中包含的变量 collect(表达式,指定的变量)
1 b# j; g5 x( U( H0 t& Z3 u0 @4 J( @6 c ?8 ~
(2)因式分解 * o% `* W+ ^; s" i
8 w) H0 k1 K: v. M8 l8 P# _syms 表达式中包含的变量 factor(表达式) + @6 @% a# m; \
t) m [: t5 P; R0 Y
(3)展开 % Q# }9 p3 l8 @0 U
( d$ b2 @% [7 e9 _6 tsyms 表达式中包含的变量 expand(表达式) ' I: u; R: t: q: a. n/ G! X
1 \4 ~' Y5 m7 @2 Y2 a3 L我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下:
. l* n9 t# n1 D7 ~; D3 ~ i# F, a& ^4 p' N0 e
maple(’maple中多项式的运算命令’) % z# T7 ^4 D0 h. @9 Z
# Q! L( [9 b! C. \- Z% D- J如何用matlab进行分式运算 : @# h' f. G# [. \9 {, k
8 ]! i: G: L+ J$ _2 e发现matlab只有一条处理分式问题的命令,其使用格式如下:
6 ]' I7 y) t. X+ @" U8 d
% ]5 L) M$ x, I( l[n,d]=numden(f) 把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式
* Q4 q9 W; p' i6 Z/ @1 m8 W( @0 j6 V, e' N# c8 @6 s
不过我们可以调用maple的命令,调用方法如下: $ R* D' {$ |5 U1 v! v
# {, c+ a1 E: k8 }1 {maple(’denom(f)’) # H8 _2 ?- h" M4 ~- n+ {
提取分式f的分母
/ [7 ?, K( _% \% n ' c% N; C9 O; g2 T* P
maple(’numer(f)’)
: R) p4 @7 N& t- E6 j2 Q4 D 提取分式f的分子
! d g6 Z5 B' ^1 @ 8 `! O% A7 ^% w( D4 _: Y0 h
maple(’normal(f)’ ) $ x( U0 b" _+ q
把分式f的分子与分母约分成最简形式 5 j' K# V- o7 r# X9 j
1 E$ G( g2 Z- _5 A) y, O4 O- D
maple(’expand(f)’) # d# U% t5 e4 x) a
把分式f的分子展开,分母不变且被看成单项。
' A2 m+ g1 E9 W X
; t0 V* d# V6 p# x! Xmaple(’factor(f)’)
6 C* K2 K, t6 D 把分式f的分母和分子因式分解,并进行约分。) X. N9 K1 d6 }. [) X) L. q
; `) c! a Y3 i1 E2 K
; h( @; j3 c$ ?如何用Matlab进行因式分解
% q3 c: U) j( I
5 U) c5 e/ d- l q% ?+ rsyms 表达式中包含的变量 factor(表达式) 8 h! r6 u* s, f% \
( t' t9 n/ F8 L; I. V$ U* ^
如何用Matlab展开 1 g8 w. `7 Y6 \
, [: d1 b4 n, ^! z5 x% g
syms 表达式中包含的变量 expand(表达式)
$ L3 a5 Y+ v# k. X% |! p' H F/ `
- J/ S" i" p( @- T: O: S 如何用Matlab进行化简 % l. a5 d; t+ l7 k9 ~2 T8 L
: c3 J# F% O) Esyms 表达式中包含的变量 simplify(表达式) 7 x! R$ S' G( v1 E, j: ^0 B& e& F
8 _! ~; G; q: r* \$ X- F如何用Matlab合并同类项 # f# U$ F$ }' Z9 R m1 Q. [5 |. J
+ j: N3 k1 e* A! [6 f$ r# csyms 表达式中包含的变量 collect(表达式,指定的变量)
l. M1 l4 D5 g U# @! }* [% w* g% w9 J3 r! m L9 N
如何用Matlab进行数学式的转换
. j5 v! ? @+ ~! Z2 g3 m
4 L! m% ~+ Z8 f* n调用Maple中数学式的转换命令,调用格式如下:
, _0 B( g4 h* s: m' e% d. l/ m
5 C2 Y% a7 V; o3 F2 I# I2 dmaple(‘Maple的数学式转换命令’) 0 x/ _8 d* V2 Z+ h; z/ \& I
- c3 N8 d# ^0 D- h" D
即:maple(‘convert(表达式,form)’) 将表达式转换成form的表示方式
! H1 J: b: |* i% m
- s% n" U. W6 z1 H& o* ?maple(‘convert(表达式,form, x)’) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) ; q) r/ T/ h3 [6 Y
; m5 E/ L4 l( t8 x* f4 i4 G: a" ]& S, p
如何用Matlab进行变量替换 # J& C; o7 K' m2 {* m
# b0 g' v5 D0 o0 P& Esyms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式) 7 |4 \ T7 ]4 N L }3 ^; d+ J
& n' e: c* }5 U4 d' V3 G7 Y( j% k
如何用matlab进行复数运算 0 d) ?; Z7 p' [, @& F
; j+ |. t# Y* Da+b*i 或 a +b*j ( Z! q2 b2 ?3 Q0 C* O+ \. @
表示复数a+bi 或 a+bj 6 u2 q; A; @1 Y5 {0 N8 h0 M
0 I# d& B' g' g% v5 s3 J. sreal(z) " W, w/ l- X1 c+ B
求复数z的实部 9 N# Y A1 S t9 J' m
. u) X- K6 C0 H9 h* M' `# S. r$ limag(z)
" R+ [2 s# A& Z) ~1 l 求复数z的虚部
% E8 Z1 y c5 M! m" w: K - l- x& J+ N/ \' {1 y2 f& q
abs(z) / K( A( c* o( S$ d0 p: R' ]# R( ^6 x
求复数z的模 ( z- v% W1 Y n* Q
$ W2 {& y8 \# f: a1 l
angle(z)
( s+ Y7 o, {/ a. \: O6 _2 z 求复数z的辐角, & J* O4 s2 \9 X0 L( g( B
7 _7 X9 U% O- a/ F: Oconj(z)
6 F' r! d$ i/ g) g+ v& I/ z7 X+ q) D 求复数z的共轭复数
, |' z$ ?8 q' H2 j# W7 `4 u' p# v 8 V: f& {) p: B, ~4 t/ }) [
exp(z)
+ H. Y! @1 D8 b) z0 q 复数的指数函数,表示e^z
# Y) z( Z( I- H
F+ L4 H9 S; J0 ]( y: T) p! \9 @# F g5 L5 U
如何在matlab中表示集合 ( k, K3 P1 I* X& g; E8 [
! K6 n; ~- [7 C- s8 s2 C& O4 A0 j[a, b, c,…] 表示由a, b, c,…组成的集合 (注意:元素之间也可用空格隔开)
# s" t, E) i- x3 ^
c- ?, }! ?0 @9 Cunique(A) 表示集合A的最小等效集合(每个元素只出现一次) 2 y5 o# e% s1 S/ g
* d0 Z7 v8 _$ h9 d0 s6 r' W
也可调用maple的命令,格式如下:
0 D5 V6 ?$ |9 ^# \9 c1 b% r! ~) P9 U0 x& N* b5 R# c
maple('{a, b, c,…}') 表示由a, b, c,…组成的集合
" }2 c+ S7 S9 [& z; E# \4 I
( A* T3 A# Q, S2 S下列命令可以生成特殊的集合:
2 q ^1 y7 T. t! F: j- r) p2 t& L
; [" D$ W- r. o6 |% ^. V) e$ `: Smaple(‘{seq(f(i),i=n..m)}’) 生成集合{f(n), f(n+1), f(n+2), … , f(m)} r( Z' E1 k1 m2 [8 m
/ P' \4 x, g }# M如何用Matlab求集合的交集、并集、差集和补集
" @3 | h7 f6 E$ Q8 [1 b: K9 X) E9 ]- k( ]
union(A,B) : g$ f1 e+ L! ]2 l/ Z+ F
求集合A和B的并集 / i! b& t; v! P& J3 |
& w) v) _0 }6 I1 h$ H* G' Cintersect(A,B)
, U& l7 l- v/ ? 求集合A和B的交集 / _+ v$ U; A9 t' g+ @. P I
0 G6 @. I! Y2 t: I
setdiff(A,B) ! \% q2 @8 [- z/ h" k4 ~
求集合A和B的差集A-B
( c [- s' A8 @* N
2 P7 I0 \9 ?: Z* asetdiff(U,A)
# s8 I$ D0 i; U) }* i$ w 求集合A关于全集U的补集
" F2 m/ N, w( s! n
2 {$ \$ }1 I2 a0 Q; d7 y
9 q; M( m+ [9 n+ |+ c( ?我们也可以调用Maple的相应功能,调用方法如下:
9 r3 R( Z- R J! H
, L# O9 o- r0 q: a1 zmaple('用Maple求集合的交集、并集、差集和补集的命令 ') b5 S2 \* r3 L d& ?# P
. q6 I. A: Q+ y2 p* `9 f; n
具体地说,共有下列几个调用命令: % x/ k$ S7 W7 t/ b5 I) s
8 K4 m7 w. L% ]0 x6 [& K
maple( 'A union B' ) 求集合A和B的并集 9 h1 n) {2 h: X' n7 A
) m9 E. j4 i! J F+ ?' d
maple( 'A intersect B ' ) 求集合A和B的交集 ! _/ X8 e" ^0 d9 t8 e5 I
% K3 e+ Z/ I7 M
maple('A minus B ' ) 求差集A-B
7 b: Q# f* {3 s) b, ~ O6 N1 `
3 E# N2 w1 Y( Q; c% R# ~4 z9 k6 A8 Amaple( '全集I minus A ' ) 求集合A关于全集I的补集
# Y, H* A5 t! D# h' P+ m; G; q8 E: w8 D8 j
如何用matlab排序 ) s0 L0 T: ^! a; w' B# ?
% t8 J% M0 j% `6 M* L! v
sort(v) 将向量v的元素从小到大排列(升序排列) |
|