视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MATLAB求解方程解析解和数值解
2025-09-25 23:06:16 责编:小OO
文档

成绩
辽宁工程技术大学上机实验报告

实验名称Matlab求解方程的数值解和解析解

院系专业班级
姓名学号日期
实验

目的

简述本次实验目的:

1、熟悉MATLAB软件环境; 

2、熟悉MATLAB的常用运算符;

3、了解MATLAB的一些常用函数;

实验

准备

你为本次实验做了哪些准备:

提前熟悉线性代数中的方程求解相关运算;

提前熟悉Matlab中的方程求解相关的命令;

实验

进度

本次共有    4    个练习,完成     4     个。

实验

总结

本次实验的收获、体会、经验、问题和教训:

通过本次实验我发现,在Matlab中一些算法会变得很简单,有时候并不需要我们去了解具体的程序内部的算法,只要我们学会如何熟练运用Matlab软件就好。学会如何运用Matlab中的算法会对我们研究一些问题带来很大的方便,解决问题会变得很方便,免去了一些手动难以解决的问题。

教师

评语

用MATLAB求解质点振动方程

   振动是日常生活和工程技术中常见的一种运动形式。利用常系数线性微分方程的理论来讨论有关自由振动和强迫振动的相关问题。利用MATLAB数学软件大致可分四类情况:(1)无阻尼自由振动情况;(2)有阻尼自由振动;(3)无阻尼强迫振动;(4)有阻尼强迫振动

求其数值解和解析解;

MATLAB软件求解微分方程解析解的命令“dsolve()”

求通解的命令格式:(’微分方程’,’自变量’)

注:微分方程在输入时,一阶导数y’应输入Dy,y’’应输入D2y等,D应大写。

1,无阻尼自由振动情况: 常见的数学摆的无阻尼微小振动方程

代码如下:

>> t=0:pi/50:2*pi;

>> y=2*sin(3*t+2);

>>plot(t,y,'b')

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

2,有阻尼自由振动

由无阻尼振动的通解可以看出,无阻尼振动是按照正弦规律运动的,摆动似乎可以无限期的进行下去,但事实上,空气从在阻力,在运动时,我们必须把空气阻力考虑在内,所以我们得到有阻尼摆动方程为:

记u/m=2n,g/l=w^2,这里n,w是正常数,所以:

y=dsolve('D2y+2*n*Dy+w^2*y=0','t');        (4.43)

解得:

y = C3*exp(-t*(n + ((n + w)*(n - w))^(1/2))) + C2*exp(-t*(n - ((n + w)*(n - w))^(1/2)))

(1)小阻尼情形:ny=exp(-n*t)*(c1*cos(w1*t)+c2*sin(w1*t))

和前面无阻尼的情形一样,可以把上式的通解改写为一下形式:

y=A*exp(-n*t)*sin(w1*t+Q),                    (4.45)

这里的A,Q为任意常数。

用matlab 操作得到:

t=0:0.1:10;

y=3*exp(-0.1*t).*sin(5*t+4);

plot(t,y,'k-')

如图:

 由(4.45)可见,摆动的运动不是周期的,振动的幅度随着时间的增加而不断减小。

(2)大阻尼情形:你>w时;r2 Y=c1*exp(r1*t)+c2*exp(r2*t),  

 这里的c1,c2 为任意常数;

(3)临界的情形:即,n=w的情形,方程(4.43)的通解解为

 y=exp(-n*t)*(c1+c2*t),   这里的,c1,c2为任意常数;

 由MAYLAB 绘制图像得:

 t=0:0.1:100;

 yy=exp(-0.2*t).*(0.5-0.2*t);

 plot(t,yy,'r-')

3.有阻尼自由振动

无阻尼自由振动和有阻尼自由振动都属于自由振动,它对应于一个二阶常数齐次线性微分方程。当一个振动系统还经常受到一个外力作用时,这种振动称为强迫振动。

=Asin(t+)+H/(2-p2)sin(pt)

取A=2;=5;p=3;

>> t=0:pi/50:2*pi;

>> y=2*sin(5*t+2)+1/9*sin(3*t);

>> plot(t,y,'k')

  4.有阻尼强迫振动

   这时摆动的运动方程(1.11)变为:

     D2y+2*n*Dy+w.^2*y=H*sin(p*t),               (4.52)

根据实际情况,我们只讨论小阻尼的情况,即nY=A*exp(-n*t)*sin(w1*t+Q),                       (4.45)

这里的A,Q为任意常数,w1=sqrt(w^2-n^2)

现在 求(4.52)的一个特解,这时可以寻求如:

 Y=M*cos(p*t)+N*sin(p*t)   

的特解,这里M,N是待定系数,代入(4,53),(4,52)化简得:

Y=H*sin(Q)*cos(p*t)+H*cos(Q)*sin(P*t)=H*sin(p*t+Q),

因此,(4.52)的通解为:

      Y=A*exp(-n*t)*sin(w1*t+Q)+H/sqrt((w^2-p^2)^2+4*n^2*p^2)*sin(p*t+Q);

Matlab操作如下:

A=3;n=0.2;w1=2;Q=0.5;H=5;w=3;p=2;

>> t=0:0.1:50;

Y=A*exp(-n*t).*sin(w1*t+Q)+H/sqrt((w.^2-p^2)^2+4.*n.^2.*p^2).*sin(p.*t+Q);

plot(t,Y,'k-')

利用MATLAB求解方程的数值解和解析解

用龙格-库塔法求方程数值解:

方程:i(t)=si-0.3i  i(0)=0.02

      s(t)=-si     s(0)=0.98

建立函数M-文件:

function y=ill(t,x)

a=1;b=0.3;y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';

建立程序命令:

ts=0:50;x0=[0.02,0.98];[t,x]=ode45('ill',ts,x0);[t,x]

plot(t,x(:,1),t,x(:,2));grid,pause

plot(x(:,2),x(:,1));grid

用dsolve求方程的解析解:

方程:x’=1-x^2  x(0)=0

>> clear

>> x=dsolve('Dx=1-x^2','x(0)=0')

x = 

tanh(t)

方程:x’=1-x^2  x(-3)=0.99

>> clear

>> x=dsolve('Dx=1-x^2','x(-3)=0.99')

x = 

tanh(t + atanh(99/100) + 3)下载本文

显示全文
专题