MATLAB数学建模6常用计算方法文档格式.docx

上传人:b****5 文档编号:19422214 上传时间:2023-01-06 格式:DOCX 页数:15 大小:149.63KB
下载 相关 举报
MATLAB数学建模6常用计算方法文档格式.docx_第1页
第1页 / 共15页
MATLAB数学建模6常用计算方法文档格式.docx_第2页
第2页 / 共15页
MATLAB数学建模6常用计算方法文档格式.docx_第3页
第3页 / 共15页
MATLAB数学建模6常用计算方法文档格式.docx_第4页
第4页 / 共15页
MATLAB数学建模6常用计算方法文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

MATLAB数学建模6常用计算方法文档格式.docx

《MATLAB数学建模6常用计算方法文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB数学建模6常用计算方法文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

MATLAB数学建模6常用计算方法文档格式.docx

title('

超越方程的迭代折线'

FontSize'

fs)%标题

xlabel('

\itn'

fs)%x标签

ylabel('

\itx'

fs)%y标签

text(length(xx),xx(end),num2str(xx(end)),'

fs)%显示结果

[图示]用下标作为自变量画迭代的折线。

如P0_20_1图所示,当最大误差为10-4时,需要迭代19次才能达到精度,超越方程的解为27.539。

[算法]方法二:

用求零函数和求解函数。

将方程改为函数

MATLAB求零函数为fzero,fzero函数的格式之一是

x=fzero(f,x0)

其中,f表示求解的函数文件,x0是估计值。

fzero函数的格式之二是

x=fzero(f,[x1,x2])

其中,x1和x2表示零点的范围。

另外MATLAB还有求解函数solve,计算非线性方程和方程组的符号解。

[程序]P1_2fzero.m如下。

%超越方程的求法

x=10:

0.1:

100;

%自变量向量

f=inline('

2*log(x)-3-100./x'

)%定义内线函数

plot(x,f(x),'

2)%画曲线

x0=fzero(f,[20,30]);

%求方程的零点

%x0=fzero(f,20);

holdon%保持图像

plot(x0,f(x0),'

.'

)%画零点

超越方程的解'

16)%标题

16)%x标签

\itf'

16)%y标签

text(x0,0,num2str(x0),'

16)%标记零点

x0=solve('

)%求超越方程的符号解

plot(double(x0),0,'

o'

)%再画零点

P1_1图P1_2图

2.导数的计算

正弦函数y=sinx的导数是余弦函数y'

=cosx,余弦函数的导数是负的正弦函数,用MATLAB的数值导数和符号导数求正弦函数的一阶和二阶导数,并与其解析解进行比较。

[程序]P2diff.m如下。

%正弦函数导数的计算方法

dx=0.01*2*pi;

%间隔

x=0:

dx:

2*pi;

y=sin(x);

%原函数

f1=diff(y)/dx;

%通过差分求导数

f1=[f1

(1),(f1(1:

end-1)+f1(2:

end))/2,f1(end)];

%求平均值

plot(x,cos(x),x,f1,'

)%画一阶导数和数值差分曲线

%plot(x,cos(x),x(1:

end-1),f1,'

)%数值导数(点)偏左

%plot(x,cos(x),x(2:

end),f1,'

)%数值导数(点)偏右

symssx%定义符号变量

y=sin(sx);

%建立符号函数

dy_dx=diff(y);

%求符号导数

df1=subs(dy_dx,sx,x);

%符号替换数值

plot(x,df1,'

ro'

)%画符号导数曲线

legend('

解析导数'

数值差分'

符号导数'

4)%图例

正弦函数的一阶导数'

16)%加标题

f2=diff(f1)/dx;

f2=[f2

(1),(f2(1:

end-1)+f2(2:

end))/2,f2(end)];

d2y_dx2=diff(y,2);

%求二阶符号导数

df2=subs(d2y_dx2,sx,x);

plot(x,-sin(x),x,f2,'

x,df2,'

)%画二阶导数和差分以及符号导数曲线

正弦函数的二阶导数'

[图示]

(1)如P2a图所示,正弦函数的一阶导数的数值解(点)与解析解(线)符合得很好。

(2)如P2b图所示,正弦函数的二阶导数的数值解(点)和符号解(圈)与解析解(线)符合得很好,不过二阶数值导数在端点与精确值有一点偏离。

P2a图P2b图

3.积分的计算

求证:

函数y=eaxsinbx的积分为

其中a=-0.5,b=2。

积分下限为0。

上限为x,画出定积分的函数曲线。

[证明]利用分部积分得

由此可证不定积分。

当x=0时,S应该为零,所以

因此,从0开始的积分为

利用复数积分的方法更简单。

由于

其中C'

表示复常数。

根据欧拉公式eix=cosx+isinx,上式两边取虚部即可证明同一结果。

上式两边取实部还可证明

[算法]设被积函数为y=f(x),取间隔为Δx,取上限为x=nΔx,则积分可用求和公式近似表示

积分既能用上式近似计算,也能用积分的解析式计算,还能用数值积分和符号积分计算。

[程序]P3quad.m如下。

%数值积分和符号积分方法

a=-0.5;

%指数的常数

b=2;

%正弦函数的常数

dx=0.1;

xm=6;

%上限

xm;

s1=(exp(a*x).*(-b*cos(b*x)+a*sin(b*x))+b)/(a^2+b^2);

%积分的解析解

y=exp(a*x).*sin(b*x);

%被积函数

s2=cumtrapz(y)*dx;

%梯形法积分

plot(x,s1,x,s2,'

)%画积分曲线

s=['

exp('

num2str(a),'

*x).*sin('

num2str(b),'

*x)'

];

%被积分函数字符串

f=inline(s);

%化为内线函数

s3=0;

%第1个积分值

fori=2:

length(x)%按自变量循环

s3=[s3,quad(f,0,x(i))];

%连接积分

plot(x,s3,'

or'

)%画数值积分曲线

symssasbsx%定义符号变量

ss=exp(sa*sx)*sin(sb*sx);

%被积符号函数

sy=int(ss,sx)%对sx进行符号积分

ssy=subs(sy,{sa,sb},{a,b});

%替换常数

s4=subs(ssy,sx,x);

%替换向量

plot(x,s4-s4

(1),'

ko'

10)%画符号积分曲线

tit=['

\ity\rm=e^{'

}\it^x\rmsin'

%公式

title([tit,'

\rm的积分'

],'

公式法'

梯形法'

数值法'

符号法'

4)%加图例

[图示]如P3图所示,梯形法积分(点)与积分的解析解(线)符合得很好,

4.微分方程的求解方法

(1)求一阶微分方程的解

当x=0时,y=2,这是初始条件。

用微分方程的数值解和符号解画出函数曲线,并与解析解进行比较。

(2)求二阶微分方程的解

P3图

初始条件为y(0)=1,y'

(0)=2。

用微分方程的数值解和符号解画出函数曲线和导数的曲线,并与解析解进行比较。

[解析]

(1)分离变量得

积分得

lny=2ln(x+1)+C

利用初始条件可得C=ln2,因此

y=2(x+1)2

[程序]P4_1ode.m如下。

%一阶常微分方程的解析解,数值解和符号解

x=linspace(0,2,50);

y1=2*(x+1).^2;

%解析解

2*y/(x+1)'

);

%微分方程右边化为内线函数

[x2,y2]=ode45(f,x,2);

%求微分方程的数值解

ys=dsolve('

Dy-2*y/(x+1)'

y(0)=2'

x'

)%求微分方程的符号特解(由初始条件决定)

y3=subs(ys,'

x);

%将符号改为向量求数值解

plot(x,y1,x,y2,'

x,y3,'

)%画曲线

解析解'

数值解'

符号解'

4)%图例

16)%横坐标

\ity'

16)%纵坐标

一阶常微分方程的解'

16)%标题

[图示]如P4_1图所示,一阶微分方程的数值解(点)和符号解(圈)与解析解(线)符合得很好。

P4_1图P4_2图

[解析]

(2)由于y'

=dy/dx,分离变量得

lny'

-ln(x2+1)=C1

当x=0时,y'

=2,所以C1=ln2,因此

y'

=2(x2+1)

再积分

当x=0时,y=1,所以C2=1,因此

设y

(1)=y,y

(2)=dy/dx,可得两个一阶微分方程

将两个一阶微分方程设计成函数文件,以便求数值解。

[程序]P0_23_2ode.m如下。

%二阶常微分方程的解析解,数值解和符号解

x=linspace(0,3,30);

y1=1+2*x+2*x.^3/3;

dy1=2*x.^2+2;

%解析解的导数

[x2,Y]=ode45('

p4_2fun'

x,[1,2]);

y2=Y(:

1);

%取出函数

dy2=Y(:

2);

%取出导数

D2y-2*x*Dy/(x^2+1)'

y(0)=1'

Dy(0)=2'

)%求微分方程的符号特解((由初始条件决定)

dy=diff(ys);

%符号导数

%将符号改为向量求函数的数值解

dy3=subs(dy,'

%将符号改为向量求导数的数值解

subplot(2,1,1)%选子图

plot(x,y1,x2,y2,'

2)%图例

二阶常微分方程解的函数'

subplot(2,1,2)%选子图

plot(x,dy1,x2,dy2,'

x,dy3,'

二阶常微分方程解的导数'

d{\ity}/d\itx'

程序在求微分方程的数值解时将调用函数文件P4_2fun.m

%二阶常微分方程的数值解的函数文件

functionf=fun(x,y)

f=[y

(2);

%一阶导数表达式

2*x*y

(2)/(x^2+1)];

%二阶导数表达式

[图示]如P4_2图所示,二阶微分方程的数值解(包括函数和导数)和符号解与解析解都符合得很好。

5.偏导数的计算和等量异号点电荷的电场

两个异号点电荷带电量为±

Q(Q>

0),相距为2a,画出电场线和等势线。

[解析]如B5图所示,等量异号点电荷在场点P(x,y)产生的电势为

(1)

其中,k为静电力常量,r1和r2是场点P到电荷的距离

(2)

电场强度可根据电势梯度计算

E=-▽U(3)

其中,劈形算符为

(4)

在xy平面上,场强只有两个分量

(5)

两个点电荷在P点产生的电场强度的大小分别为

(6)

场强的两个分量也能根据公式计算

(7a)

(7b)

[算法]取a为坐标单位,则电势可表示为

(1*)

其中,U0=kQ/a。

U0是Q在原点产生的电势,作为电势的单位。

r1*和r2*是约化距离

(2*)

其中,x*=x/a,y*=y/a。

x*和y*是无量纲的坐标或约化坐标。

场强的x分量用梯度可表示为

(5a*)

其中,E0=U0/a,U*=U/U0。

E0是场强的单位,U*是无量纲的电势。

同理可得

(5b*)

两个点电荷的电场强度的两个分量用公式可表示为

(7*)

将物理量无量纲化之后,只要作纯数值计算就行了。

MATLAB的梯度函数gradient可直接计算场强的数值分量,场强的数值解和解析解可相互比较。

等势线可根据等值线指令contour绘制,电场线可根据流线指令streamline绘制。

[程序]P0_24gradient.m如下。

%等量异号点电荷的电场线和等势线(请在“创建图形窗口”处设置断点,以观察画图过程)

xm=2.5;

%横坐标范围

ym=2;

%纵坐标范围

x=linspace(-xm,xm,400);

%横坐标向量

y=linspace(-ym,ym,400);

%纵坐标向量

[X,Y]=meshgrid(x,y);

%坐标网点(矩阵)

R1=sqrt((X+1).^2+Y.^2);

%左边第一个正电荷到场点的距离

R2=sqrt((X-1).^2+Y.^2);

%右边第二个负电荷到场点的距离

U=1./R1-1./R2;

%计算电势

u=-4:

0.5:

4;

%等势线的电势向量

C=contour(X,Y,U,u,'

%画等势线并取等势线的坐标

clabel(C,'

16)%标记等势线的值

plot([-xm;

xm],[0;

0],[0;

0],[-ym;

ym])%画水平和竖直线

plot(-1,0,'

1,0,'

12)%画电荷

[Ex,Ey]=gradient(-U,x

(2)-x

(1),y

(2)-y

(1));

%用电势梯度求场强的两个分量

%[Ex,Ey]=gradient(-U);

%用电势梯度求场强的两个分量

dth=20;

%电场线角度间隔

th=(dth:

dth:

360-dth)*pi/180;

%电场线的起始角度

r0=0.1;

%电场线起点半径

x0=r0*cos(th);

%电场线的起点横坐标

y0=r0*sin(th);

%电场线的起点纵坐标

streamline(X,Y,Ex,Ey,x0-1,y0)%画左边电场线(中间部分达到右边)

streamline(X,Y,-Ex,-Ey,x0+1,y0)%画右边电场线(中间部分达到左边)

axisequaltight%使坐标间隔相等

等量异号点电荷的电场线和等势线'

20)%显示标题

\itx/a'

16)%显示横坐标

\ity/a'

16)%显示纵坐标

text(-xm,ym-0.5,'

电势单位:

\itkQ/a'

16)%显示电势单位

Ex=(X+1)./R1.^3-(X-1)./R2.^3;

%用公式求场强的x分量

Ey=Y./R1.^3-Y./R2.^3;

%用公式求场强的y分量

streamline(X,Y,Ex,Ey,x0-1,y0)%重画左边电场线(曲线重合)

streamline(X,Y,-Ex,-Ey,x0+1,y0)%重画右上电场线(曲线重合)

[图示]如P0_24图所示,左边表示正电荷,右边表示负电荷,等量异号点电荷的电场线和等势线关于原点是对称分布的。

电场线从正电荷出发,终止于负电荷。

电场线与等势线垂直,任何两条电场线都不相交。

除了电势为零的直线外,等势线分别包围着各自的电荷。

电场强度大的地方,电场线较密,等势线也较密。

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

当前位置:首页 > 考试认证 > 交规考试

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

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