MATLAB编程基础及应用).doc
文本预览下载声明
符号运算
符号运算时数学计算的中国农药内容,特点是不带来计算误差,希望认真掌握本章内容。
符号变量的创建
直接用引号‘’创建(包括代数式)。
用函数sym(‘’)创建(包括代数)。
注意:
上述两种方法创建的符号变量所占空间不同
符号代数式中的符号应另行创建。
例如:y=sym(a*x^2+b)中,计算机智能识别单引号中的字符串,不能识别字符串中的部分字符,比如字符a,x,b等。
‘’中包括的空格等都视为符号。
已创建的符号变量及代数式可以进行赋值。
用函数syms串讲多符号变量,变量之间用空格分开。此方法一般只用于多符号变量的创建。
可用上述方法创建符号矩阵与复数型符号变量。
符号函数的运算
对符号函数进行运算,首先必须
定义符号变量。
定义符号函数。
函数求极限
findsym(f,n)查找函数f的变量次序,n是查找变量的个数。
limit(f,x,a)。对于符号函数f,求当变量x趋近于a时的极限值。对独立变量的函数f,x可省略。对多变量的函数f,变量x不可省。如果省略,计算机则按排序的第一个变量求极限。
(e17t)
limit(f,x,a,right),
limit(f,x,a,left),
limit(f,x,a,inf),
求
(e18t)
(e17t)
syms x a b c
f=sym(a*x^2+b*x+c)
findsym(f,4)
y(1)=limit(f,x,1);
y(2)=limit(f,1);
y(3)=limit(f,a,2);
y(4)=limit(f,b,1);
y
(e18t)
syms x
f=sym(ln(1+2*x)/sin(3*x))
a=limit(f,0)
(a其实是由符号组成,只是符号中没有包含变量)
微分与积分的运算
对可微函数f
微分:diff(f,v,n)。函数f中对符号变量v求n阶微分。当变量v和阶次n省略时,表示对单变量的函数求一节微分。
对可积函数f(原函数存在)
积分:int(f,v,a,b)。 函数f中队符号变量v求定积分,a和b 分别是积分的上下限。
int(f,v)。对变量 v求不定积分。 (exno19t)
(e19t)
syms x
f=sym(x/(cos(x))^2)
y1=diff(f)
y2=int(f,0,1)
梯度函数 fradient
如果F是一维矩阵,则FX=grdient(F,H)返回F的一维数值梯度。H是F中相邻两点间的间距。
如果F是二维矩阵,返回F的二维梯度数值。
[fx,fy] = gradient(f,hx,hy)。hx,hy参数表示各方向相邻两点间的距离。
如果f是三维矩阵,返回f的三维数值梯度。
[fx,fy,fz] = gradient(f,hx,hy,hz) 。hx,hy,hz参数表示各方向相邻两点的距离。(exno
18tt)
(e18tt)
x=[1 2 3;6 3 1;3 1 2]
[ex,ey]=gradient(x,0.5,0.2)
练习4-2
平面上温度的分布为:
T(x,y)=xe-x2-y2
用灰度图反映
平面上温度的分布。
平面上温度梯度的分布。(exno20t)(exno14)
需要掌握:(1)两个自变量矩阵x,y的构造
(2)函数梯度的求解方法。
(e20t)
xx=-2:0.05:2;
yy=-2:0.05:2;
[x,y]=meshgrid(xx,yy);%将单变量构造网格矩阵
%x和y都是a*b(a是y的列数) x每行都相等,列变化与xx相同。
%y是每列都相等,行变化与yy的转置一样
t=x.*exp(-x.^2-y.^2);%平面上的温度分布
[px,py]=gradient(t,0.05,0.05);%平面上的温度梯度(两个方向)
td=sqrt(px.^2+py.^2);%平米昂上的温度梯度的大小
subplot(221)%
imagesc(t)%作平面上的温度的分布图
subplot(222)
imagesc(td)%
colormap(gray)%颜色矩阵
符号代数方程(组)的求解solve
定义符号变量。
定义符号方程(组)
求解方程(组)
格式一 变量输出方式:
[x1,x2,...xn]=solve(eq1,eq2,...e1n,x1,x2,...xn)
格式二 结构输出方式
V=solve(eq1,eq2,...eq3,x1,x3,...xn)
eq1....是符号方程 x1....是求解未知数
练习4-3
求解方程组
注意:结构输出方式的现实为v.x1或v.x2 V为结构输出的变量名 (exno21t)
(e21t)
syms
显示全部