MATLAB编程基础及应用第四章.docx

上传人:b****4 文档编号:4884235 上传时间:2022-12-11 格式:DOCX 页数:17 大小:92.53KB
下载 相关 举报
MATLAB编程基础及应用第四章.docx_第1页
第1页 / 共17页
MATLAB编程基础及应用第四章.docx_第2页
第2页 / 共17页
MATLAB编程基础及应用第四章.docx_第3页
第3页 / 共17页
MATLAB编程基础及应用第四章.docx_第4页
第4页 / 共17页
MATLAB编程基础及应用第四章.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

MATLAB编程基础及应用第四章.docx

《MATLAB编程基础及应用第四章.docx》由会员分享,可在线阅读,更多相关《MATLAB编程基础及应用第四章.docx(17页珍藏版)》请在冰豆网上搜索。

MATLAB编程基础及应用第四章.docx

MATLAB编程基础及应用第四章

第4章符号运算

符号运算时数学计算的中国农药内容,特点是不带来计算误差,希望认真掌握本章内容。

第1节符号变量的创建

(1)直接用引号‘’创建(包括代数式)。

(2)用函数sym(‘’)创建(包括代数)。

注意:

1)上述两种方法创建的符号变量所占空间不同

2)符号代数式中的符号应另行创建。

例如:

y=sym('a*x^2+b')中,计算机智能识别单引号中的字符串,不能识别字符串中的部分字符,比如字符a,x,b等。

(3)‘’中包括的空格等都视为符号。

(4)已创建的符号变量及代数式可以进行赋值。

(5)用函数syms串讲多符号变量,变量之间用空格分开。

此方法一般只用于多符号变量的创建。

(6)可用上述方法创建符号矩阵与复数型符号变量。

第2节符号函数的运算

对符号函数进行运算,首先必须

(1)定义符号变量。

(2)定义符号函数。

1.函数求极限

(1)findsym(f,n)查找函数f的变量次序,n是查找变量的个数。

(2)limit(f,x,a)。

对于符号函数f,求当变量x趋近于a时的极限值。

对独立变量的函数f,x可省略。

对多变量的函数f,变量x不可省。

如果省略,计算机则按排序的第一个变量求极限。

(e17t)

(3)limit(f,x,a,'right'),

(4)limit(f,x,a,'left'),

(5)limit(f,x,a,'inf'),

(e18t)

(e17t)

symsxabc

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)

symsx

f=sym('ln(1+2*x)/sin(3*x)')

a=limit(f,0)

(a其实是由符号组成,只是符号中没有包含变量)

2.微分与积分的运算

对可微函数f

(1)微分:

diff(f,v,n)。

函数f中对符号变量v求n阶微分。

当变量v和阶次n省略时,表示对单变量的函数求一节微分。

对可积函数f(原函数存在)

(2)积分:

int(f,v,a,b)。

函数f中队符号变量v求定积分,a和b分别是积分的上下限。

int(f,v)。

对变量v求不定积分。

(exno19t)

(e19t)

symsx

f=sym('x/(cos(x))^2')

y1=diff(f)

y2=int(f,0,1)

3.梯度函数fradient

(1)如果F是一维矩阵,则FX=grdient(F,H)返回F的一维数值梯度。

H是F中相邻两点间的间距。

(2)如果F是二维矩阵,返回F的二维梯度数值。

[fx,fy]=gradient(f,hx,hy)。

hx,hy参数表示各方向相邻两点间的距离。

(3)如果f是三维矩阵,返回f的三维数值梯度。

[fx,fy,fz]=gradient(f,hx,hy,hz)。

hx,hy,hz参数表示各方向相邻两点的距离。

(exno

18tt)

(e18tt)

x=[123;631;312]

[ex,ey]=gradient(x,0.5,0.2)

练习4-2

平面上温度的分布为:

T(x,y)=xe-x2-y2

用灰度图反映

(1)平面上温度的分布。

(2)平面上温度梯度的分布。

(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')%颜色矩阵

4.符号代数方程(组)的求解solve

(1)定义符号变量。

(2)定义符号方程(组)

(3)求解方程(组)

格式一变量输出方式:

[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.x2V为结构输出的变量名(exno21t)

(e21t)

symsx1x2a

eq1=sym('x1^2+x2=a');

eq2=sym('x1-a*x2=a');

[x1x2]=solve(eq1,eq2,x1,x2)

v=solve(eq1,eq2)

v.x1

v.x2

an1=x1

(1),an2=x1

(2)

an3=x2

(1),an4=x2

(2)

5.符号微分方程(组)的求解dsolve

符号微分方程(组)可以直接求解,调用格式为

格式1函数输出方程

[y1,y2,...]=dsolve('方程1,方程2。

','初条件1,初条件2。

','自变量')

格式2结构输出方程

V=dsolve('方程1,方程2。

','初条件1,初条件2。

','自变量')

注:

当初条件和自变量省略时,解函数默认为自变量为t,并含有积分常数

练习4-4

(1)求解微分方程

y(0)=1

格式1函数输出方式

[y]=dsolve('Dy=-a*y','y(0)=1','x')

格式2结构输出方程

s=dsolve('Dy=-a*y','y(0)=1','x')(exno22t)

注意微分算符的表达(答谢字母D),高阶为D2,D3。

(e22t)

[y]=dsolve('Dy=-a*y','y(0)=1','x')

s=dsolve('Dy=-a*y','y(0)=1','x')

[u]=dsolve('Du=-a*u','u(0)=1')

w=dsolve('Du=-a*u','u(0)=1')

(2)求解微分方程组

(exno23)

特别需要注意的是,不是任何微分方程都能进行微分方程的求解,五解析解的微分方程需要用数值求解的方法记性,有关问题将在后面介绍。

(e23)

[u,w]=dsolve('Du=-a*w,Dw=sin(z)','u(0)=1,w(0)=0','z')

v=dsolve('Du=-a*w,Dw=sin(z)','u(0)=1,w(0)=0','z')

6.符号变量与数值变量的转换

符号变量的运算结果仍然是符号,需要进行数值转化,有下面的相关函数:

(1)vpa(f,d):

将符号函数f进行数值转换,有效位数为d。

(2)double(f):

将不含自由变量的符号函数f做数值变换,有效位数固定为5位。

(3)sbus(f,old,new):

将符号表达式中f中的自由变量名为old替换为新变量名new。

注意:

符号函数f中的自由变量时指非阿拉伯数值字符的符号变量。

练习4-5求下列函数的根

y=x2-x3-1(exno13)

(e13)

symsx

f=sym('-x^3+x^2-1=0')

v=solve(f)

w=vpa(v,2)

u=double(v)

第5章符号运算

符号运算时数学计算的中国农药内容,特点是不带来计算误差,希望认真掌握本章内容。

第2节符号变量的创建

(3)直接用引号‘’创建(包括代数式)。

(4)用函数sym(‘’)创建(包括代数)。

注意:

3)上述两种方法创建的符号变量所占空间不同

4)符号代数式中的符号应另行创建。

例如:

y=sym('a*x^2+b')中,计算机智能识别单引号中的字符串,不能识别字符串中的部分字符,比如字符a,x,b等。

(7)‘’中包括的空格等都视为符号。

(8)已创建的符号变量及代数式可以进行赋值。

(9)用函数syms串讲多符号变量,变量之间用空格分开。

此方法一般只用于多符号变量的创建。

(10)可用上述方法创建符号矩阵与复数型符号变量。

第3节符号函数的运算

对符号函数进行运算,首先必须

(3)定义符号变量。

(4)定义符号函数。

2.函数求极限

(6)findsym(f,n)查找函数f的变量次序,n是查找变量的个数。

(7)limit(f,x,a)。

对于符号函数f,求当变量x趋近于a时的极限值。

对独立变量的函数f,x可省略。

对多变量的函数f,变量x不可省。

如果省略,计算机则按排序的第一个变量求极限。

(e17t)

(8)limit(f,x,a,'right'),

(9)limit(f,x,a,'left'),

(10)limit(f,x,a,'inf'),

(e18t)

(e17t)

symsxabc

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)

symsx

f=sym('ln(1+2*x)/sin(3*x)')

a=limit(f,0)

(a其实是由符号组成,只是符号中没有包含变量)

3.微分与积分的运算

对可微函数f

(3)微分:

diff(f,v,n)。

函数f中对符号变量v求n阶微分。

当变量v和阶次n省略时,表示对单变量的函数求一节微分。

对可积函数f(原函数存在)

(4)积分:

int(f,v,a,b)。

函数f中队符号变量v求定积分,a和b分别是积分的上下限。

int(f,v)。

对变量v求不定积分。

(exno19t)

(e19t)

symsx

f=sym('x/(cos(x))^2')

y1=diff(f)

y2=int(f,0,1)

4.梯度函数fradient

(4)如果F是一维矩阵,则FX=grdient(F,H)返回F的一维数值梯度。

H是F中相邻两点间的间距。

(5)如果F是二维矩阵,返回F的二维梯度数值。

[fx,fy]=gradient(f,hx,hy)。

hx,hy参数表示各方向相邻两点间的距离。

(6)如果f是三维矩阵,返回f的三维数值梯度。

[fx,fy,fz]=gradient(f,hx,hy,hz)。

hx,hy,hz参数表示各方向相邻两点的距离。

(exno

18tt)

(e18tt)

x=[123;631;312]

[ex,ey]=gradient(x,0.5,0.2)

练习4-2

平面上温度的分布为:

T(x,y)=xe-x2-y2

用灰度图反映

(3)平面上温度的分布。

(4)平面上温度梯度的分布。

(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')%颜色矩阵

5.符号代数方程(组)的求解solve

(4)定义符号变量。

(5)定义符号方程(组)

(6)求解方程(组)

格式一变量输出方式:

[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.x2V为结构输出的变量名(exno21t)

(e21t)

symsx1x2a

eq1=sym('x1^2+x2=a');

eq2=sym('x1-a*x2=a');

[x1x2]=solve(eq1,eq2,x1,x2)

v=solve(eq1,eq2)

v.x1

v.x2

an1=x1

(1),an2=x1

(2)

an3=x2

(1),an4=x2

(2)

6.符号微分方程(组)的求解dsolve

符号微分方程(组)可以直接求解,调用格式为

格式1函数输出方程

[y1,y2,...]=dsolve('方程1,方程2。

','初条件1,初条件2。

','自变量')

格式2结构输出方程

V=dsolve('方程1,方程2。

','初条件1,初条件2。

','自变量')

注:

当初条件和自变量省略时,解函数默认为自变量为t,并含有积分常数

练习4-4

(3)求解微分方程

y(0)=1

格式1函数输出方式

[y]=dsolve('Dy=-a*y','y(0)=1','x')

格式2结构输出方程

s=dsolve('Dy=-a*y','y(0)=1','x')(exno22t)

注意微分算符的表达(答谢字母D),高阶为D2,D3。

(e22t)

[y]=dsolve('Dy=-a*y','y(0)=1','x')

s=dsolve('Dy=-a*y','y(0)=1','x')

[u]=dsolve('Du=-a*u','u(0)=1')

w=dsolve('Du=-a*u','u(0)=1')

(4)求解微分方程组

(exno23)

特别需要注意的是,不是任何微分方程都能进行微分方程的求解,五解析解的微分方程需要用数值求解的方法记性,有关问题将在后面介绍。

(e23)

[u,w]=dsolve('Du=-a*w,Dw=sin(z)','u(0)=1,w(0)=0','z')

v=dsolve('Du=-a*w,Dw=sin(z)','u(0)=1,w(0)=0','z')

7.符号变量与数值变量的转换

符号变量的运算结果仍然是符号,需要进行数值转化,有下面的相关函数:

(4)vpa(f,d):

将符号函数f进行数值转换,有效位数为d。

(5)double(f):

将不含自由变量的符号函数f做数值变换,有效位数固定为5位。

(6)sbus(f,old,new):

将符号表达式中f中的自由变量名为old替换为新变量名new。

注意:

符号函数f中的自由变量时指非阿拉伯数值字符的符号变量。

练习4-5求下列函数的根

y=x2-x3-1(exno13)

(e13)

symsx

f=sym('-x^3+x^2-1=0')

v=solve(f)

w=vpa(v,2)

u=double(v)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1