MATLAB的符号方程求解与符号绘图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四MATLAB的符号方程求解与符号绘图
一.实验目的
二.实验要求
三.实验内容
3.1 solve 函数的使用:
在MA TLAB中,solve函数主要用来求解代数方程(即多项式)的精确解或解析解,所有的解析解可以由函数vap转换成浮点近似数值。
solve的用法如下格式:
(1) : solve(eq)
(2): solve(eq,var)
(3) : solve(eq1,eq2,···eqn)
(4): solve(eq1,eq2,···,eqn,var1,var2,···varn)
其中,eq代表方程,var代表变量,举例如下:
例1:
>> syms a b c x
>> solve('a*x*x+b*x+c')
ans =
[ 2 1/2 ]
[ -b + (-4 a c + b ) ]
[1/2 --------------------- ]
[ a ]
[ ]
[ 2 1/2]
[ b + (-4 a c + b ) ]
[- 1/2 --------------------]
[ a ]
说明:当没有指定变量的时候,MATLAB默认求解的是关于X的一元二次方程的解。
当指定变量b的时候,如下:
>> syms a b c x;
>> solve('a*x*x+b*x+c','b')
ans =
2
a x + c
- --------
x
例2:
>> syms x;
>> S=solve('x+y=1','x-11*y=5');
>> S=[S.x S.y]
S =
[4/3, -1/3]
说明:对于solve求解的方程,默认eq0=0,eq1=0,eq2=0,···eqn=0
3.2 dsolve函数的使用:
函数dsolve计算常微分方程(组)解,其调用格式:
dsolve(‘equl’,’equ2’,···,'cond1,cond2,···','v')
其中,eq1,eq2等为微分方程或微分方程组,cond 为初始条件或边界条件,‘v’是独立变量,默认的独立变量是‘t’。对于dsolve求解的常微分方程或方程组,如果没有初始条件,则求出通解,如果有,则求出特解,如下例:
例1:
>> dsolve('Dy=1/(x+y)','x')
ans =
-lambertw(-_C1 exp(-x - 1)) - x - 1
此例中,默认自变量为t,因此这里要写明自变量
例2:
>> Y2=dsolve('y*D2y-Dy^2=0','x')
Y2 =
exp(_C1 x) _C2
例3:
>> [x,y]=dsolve('Dx=y','Dy=x+y');
>> s1=diff(x)-y;
>> s11=simplify(s1);
>> s2=diff(y)-x-y;
>> s22=simplify(s2) %由于结果较长,在此不一一陈列
3.3 maple函数的使用:
maple是专门用于数学运算的软件工具,maple是用来访问maple内核函数,maple函数的使用方法调用格式:
(1)maple('表达式')
说明:将表达式送至maple内核,返回符号表达式结果
(2)maple('函数1',变量1,变量2)
说明:调用maple函数,传送给定变量
例1:
>> a=maple('simplify(sin(x)∧2+cos(x)∧2;') %化简三角函数式
a=
1
例2:
>> syms a b c
>> c=a/b;
>> maple('denom(f)') %提取分式f的分母
ans =
1
例3:
>> maple('a union b') %a 和b的并集
>> maple('a intersect b') %a 和b的交集
3.4 mapleinit函数:
mapleinit用以maple函数初始化
3.5 mhelp函数
mhelp是协助检索maple库函数的专用命令。
调用格式:
maple 相关词条,此条可以为工具词条或函数词条。
例如:
mhelp intro %maple介绍
mhelp index %maple检索
mhelp tutorial %maple入门
3.6. precread函数:
precread为maple函数程序安装
3.7 with和readlib两个maple函数的功能和使用方法
maple软件中的所有函数,在初始化中并没有完全装入内存,可用readlib指令把库函数读入内存,或用with指令将应用工具包装入内存。
调用格式如下:
maple('readlib(函数名);')
maple('with(工具包名);')
例:
>> maple('mataylor(sin(x^2+y^2),[x=0,y=0],8)')
ans =
2 2
mataylor(sin(x + y ), [x = 0, y = 0], 8)
>> maple('readlib(mtaylor);')
3.8 MAPLE库函数的分类
maple库函数共分为四类:
(1)maple内部函数:驻留函数任何条件下都可调用
(2)maple 外部函数——读库定义部分:调用时先执行读库命令,因此与内部函数一样可以直接调用;
(3)maple 外部函数——读库装入部分:maple其余外部函数在使用前执行maple('readlib(函数名);')命令将其装入内存;
(4)maple的惰性函数,不能直接调用,还需一些函数,如mod,evala,evalf 等才能调用。
3.9 二维符号绘图
基本绘图命:
(1)plot(Y);(2)plot(X,Y);(3)plot(X,Y,s)
(1)当plot函数只有一个输入变量时:
例:
>> y=rand(100,1);
>> plot(y)