工程数值计算matlab实验报告第三次实验.docx

上传人:b****5 文档编号:8097662 上传时间:2023-01-28 格式:DOCX 页数:13 大小:217.15KB
下载 相关 举报
工程数值计算matlab实验报告第三次实验.docx_第1页
第1页 / 共13页
工程数值计算matlab实验报告第三次实验.docx_第2页
第2页 / 共13页
工程数值计算matlab实验报告第三次实验.docx_第3页
第3页 / 共13页
工程数值计算matlab实验报告第三次实验.docx_第4页
第4页 / 共13页
工程数值计算matlab实验报告第三次实验.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

工程数值计算matlab实验报告第三次实验.docx

《工程数值计算matlab实验报告第三次实验.docx》由会员分享,可在线阅读,更多相关《工程数值计算matlab实验报告第三次实验.docx(13页珍藏版)》请在冰豆网上搜索。

工程数值计算matlab实验报告第三次实验.docx

工程数值计算matlab实验报告第三次实验

《工程数值计算》上机实验报告(第三次)

学生姓名****班级****学号*****

任课教师*****上机时间2019年11月7日,报告完成2019年11月8日

1.实验目的:

简述实验任务和目的

任务3.1:

采用以下两种方法求解线性方程组

(1)逆矩阵法

(2)数值迭代法

任务3.2:

非线性方程(组)的求根

(1)求

的根

(2))伞兵降落速度方程为

,其中g=9.81m/s^2,m=68kg,若要下落t=10s时速度达到v=40m/s请问阻力系数c是多少?

(3)求方程

的解

任务3.3:

微分方程组的求解

已知大气动力学模型的洛伦兹方程

,其中x(t)为大气流动的强度,y(t)和z(t)为水平和垂直方向的温度变化。

如果

=10,b=2.666667,r=28,初始条件为x(0)=6,y(0)=z(0)=5,请你:

(1)计算t=0~20范围内x(t)、y(t)和z(t)的数值解。

(2)分别画出y(t)和z(t)随时间t的变化曲线y–t和z–t。

(3)分别画出x随y和x随z变化的曲线(相平面图):

x–y和x-z。

(4)轻微改变初始条件x(0)=6.01,y(0)=z(0)=5,重复以上过程,画出相平面图(x–y和x–z),并与以上结果进行比较。

2.计算方法:

针对实验任务,结合课堂内容,说明解决方法,如:

采用何种

理论,列出相关公式,说明计算步骤,写出程序框图等

任务3.1两种方法求解线性方程组

(1)逆矩阵法

计算原理:

对于

或Ax=b

解为

流程图:

(2)数值迭代法

对于线性方程组

将对角线上各项留在左边,其余移到右边,方程写为

写成迭代形式

经过多次迭代计算逐渐逼近真值。

流程图:

任务3.2:

非线性方程(组)的求根

(1)

计算原理:

roots(P)函数将P视为一个具有n+1个元素的向量,代表n×n矩阵A的n次特征多项式。

多项式的根通过计算伴随矩阵A的特征值得出。

已知

构造矩阵

(x为该方程的解)

以3项来说明

原式:

联立以上3个方程得:

因此,只要解出λ(特征根)的值,就得到

的解。

从而,我们把解方程的根转化成了特征根的求解。

流程图:

(2)定义自定义函数,调用matlab的fslove函数求解方程。

(3)调用matlab的slove函数求解方程。

任务3.3:

微分方程组的求解

计算原理:

欧拉公式

(初值条件

流程图:

3.程序设计:

根据前面提到的计算方法编写程序;写出程序代码,并结合计

算方法对程序中关键步骤进行必要的文字说明

任务3.1两种方法求解线性方程组

%逆矩阵法求解方程组

clear;

A=[223;477;-245];%(系数矩阵)

B=[3;1;-7];%(列向量)

C=inv(A)*B%(求解)

%数值迭代法求解

n=length(B);

N=20;

eb=1e-3;%(迭代收敛精度)

%给定迭代初始点

fori=1:

n

x(1,i)=0;

end

fori=1:

N

i

x(i+1,1)=(B

(1)-A(1,2)*x(i,2)-A(1,3)*x(i,3))/A(1,1);%(迭代格式计算)

x(i+1,2)=(B

(2)-A(2,1)*x(i+1,1)-A(2,3)*x(i,3))/A(2,2);%(迭代格式计算)

x(i+1,3)=(B(3)-A(3,1)*x(i+1,1)-A(3,2)*x(i+1,2))/A(3,3);%(迭代格式计算)

e(i)=abs(x(i+1,1)-x(i,1));

ife(i)

break%(跳出循环)

end

end

x

任务3.2:

非线性方程(组)的求根

(1)

%非线性方程组求根

(1)

clear;

c=[2,-4,3,-8,9];%(方程系数)

x=roots(c)

(2)

%定义函数

functionF=mf(x)

globalmgtv

F=m*g/x*(1-exp(-x/m*t))-v;

%调用函数

globalmgtv

m=68;

g=9.8;

t=10;

v=40;

X0=12;%(定义初值)

[X,Fval,Exit]=fsolve(@mf,12)

(3)

clear;

[x,y]=solve('x^2+x*y+y-3=0','x^2-4*x+3=0')

任务3.3:

微分方程组的求解

%微分方程求根

clear;

T=20;%(计算时长)

dt=2.5;%(时间步长)

N1=T/dt;

%初始点定义

x=6;

y=5;

z=5;

%参数取值

a=10;

b=2.666667;

c=28;

%Part2-程序主体

x1

(1)=x;

y1

(1)=y;

z1

(1)=z;

t

(1)=0;

fori=1:

N1

t(i+1)=i*dt;

x1(i+1)=x1(i)-a*(x1(i)-y1(i))*dt;

y1(i+1)=y1(i)+(c*x1(i)-y1(i)-x1(i)*z1(i))*dt;

z1(i+1)=z1(i)+(x1(i)*y1(i)-b*z1(i))*dt;

end

%Part3-画图

figure;

subplot(2,1,1)

plot(t,y1,'r-')

subplot(2,1,2)

plot(t,z1,'b-')

figure;

subplot(1,2,1)

plot(y1,x1,'r-')

subplot(1,2,2)

plot(z1,x1,'b-')

4.结果分析:

给出计算结果(可用数值、图表、曲线表示),并进行分析

任务3.1两种方法求解线性方程组

(1)逆矩阵法

(2)数值迭代法

经过16次迭代计算,得出符合精度需要的值(末尾一行)。

任务3.2:

非线性方程(组)的求根

(1)

(2)

Exit=1,说明计算结果可信。

(3)

任务3.3:

微分方程组的求解

原题数据输出结果(左y-t;右z-t)

更改数据后(第四问要求)结果(左x-y;右x-z)

对比可知,y-t曲线和x-y曲线都出现了一个数量级的差别,z-t曲线和x-z曲线变化不大。

5.其他:

说明实验中发现的问题及办法,个人体会、收获、思考等。

1、迭代求解线性方程组时,并没有按照预设迭代次数进行,而是满足精度后停止迭代,计算时,设置精度监测,可以提高计算效率,避免不必要的计算。

2、当任务三中的步长非常小时(如0.01),曲线呈现周期性起伏变化。

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

当前位置:首页 > 工作范文 > 行政公文

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

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