当前位置:文档之家› 哈工大计算机仿真实验三利用数值积分算法的仿真实验

哈工大计算机仿真实验三利用数值积分算法的仿真实验

哈工大计算机仿真实验三利用数值积分算法的仿真实验
哈工大计算机仿真实验三利用数值积分算法的仿真实验

实验三利用数值积分算法的仿真实验

一、实验目的

1) 熟悉MATLAB的工作环境;

2) 掌握MATLAB的 .M文件编写规则,并在命令窗

口调试和运行程序;

3) 掌握利用欧拉法、梯形法、二阶显式Adams法

及四阶龙格库塔法构建系统仿真模型的方法,

并对仿真结果进行分析。

二、实验内容与要求

系统电路如图3所示。电路元件参数:直流电压源,电阻,电感,电容。电路元件初始值:电感电流,电容电压。系统输出量为电容电压。试利用欧拉法、梯形法、二阶显式Adams法及显式四阶Runge-Kutta法构建系统仿真模型,并求出离散系统的输出量响应曲线。连续系统输出响应的解析解为:

其中,

三、实验原理

在连续系统的数字仿真算法中,较常用的有欧拉法、梯形法、二阶显式Adams法及显式四阶Runge-Kutta法等。欧拉法、梯形法和二阶显式Adams法是利用离散相似原理构造的仿真算法,而显式四阶Runge-Kutta法是利用Taylor级数匹配原理构造的仿真算法。

对于线性系统,其状态方程表达式为:

(3-1)式(3-1)中,是系统的n维状态向量,是系统的m维输入向量,是系统的r维输出向量。A为阶参数矩阵,又称动态矩

阵,B为阶输入矩阵,C为阶输出矩阵,D为阶交联矩阵。利用前向欧拉法构建线性系统的仿真模型为:

(3-2)式中,为积分步长,为单位矩阵。利用后向欧拉法构建线性系统的仿真模型为:

(3-3)利用梯形法构建线性系统的仿真模型为:

(3-4)利用二阶显式Adams法构建线性系统的仿真模型为:

(3-5)

式中: (3-6)二阶显式Adams法为多步计算方法,利用多步计算方法对系统进行仿真时,需要与之具有相同计算精度的单步计算方法辅助计算。二阶显式Adams法的计算精度为二阶,可以采用梯形法或改进的Euler法等辅助计算。利用改进的Euler法构建线性系统的仿真模型为:

(3-7)利用显式四阶Runge-Kutta法构建线性系统的仿真模型为:

(3-8)

四、实验步骤与方法

1. 建立系统数学模型

根据图3所示电路,系统状态方程模型:

(3-9)式中,状态变量,输出变量,系数矩阵为:

,,。

2. 建立系统离散数学模型

根据系统状态方程模型,利用式(3-2)~(3-8)给出的欧拉法、梯形法、二阶显式Adams法及显式四阶Runge-Kutta法的公式,分别构造与连续系统相似的离散系统模型,即系统的差分方程。该模型是编写计算机仿真程序的基础。对于图3所示的系统,利用欧拉法构造的系统差分方程具有形式:

(3-10)对于前向欧拉法,式(3-10)的系数矩阵为:,,。对于后向欧拉法,式(3-10)的系数矩阵为:,,。

对于图3所示的系统,利用梯形法构造的系统差分方程具有形式:

(3-11)

其系数矩阵为:,,。

利用二阶显式Adams法构造与连续系统相似的离散系统模型时,首先选择起步计算方法。这里选择改进的Euler法。其离散系统模型为:

(3-12)其中,。由式(3-12)计算出和后,便可以转入由二阶显式Adams法构造的离散系统模型计算,即系统差分方程。其计算方程为:

(3-13)

(3-14)其中,。

利用显式四阶Runge-Kutta法构建的图3所示线性系统的离散系

统模型为:

(3-8)

3. 编写Matlab的M文件程序

利用欧拉法、梯形法、二阶显式Adams法及显式四阶Runge-Kutta法建立的离散系统差分方程编写系统仿真程序。Matlab的M函数编写及运行见附录。编写的M文件程序应能够满足实验要求。

4. 仿真实验

为了比较分析算法特性,如稳定性、精度及误差,与积分步长的关系,应选择一组合理的积分对系统进行仿真实验。试采用表3-1数据,分别利用欧拉法、梯形法、二阶显式Adams法及显式四阶Runge-Kutta法对图3电路进行仿真,给出仿真试验曲线及算法误差曲线(与准确解相比)。从算法的稳定性、精度和算法误差与与积分步长的关系角度,对算法的仿真结果进行对比分析。

表3-1 积分步长的选择

仿真时间t=0.01s

积分步

长/s

五、实验报告要求

1)给出欧拉法、梯形法、二阶显式Adams法及显式四阶Runge-Kutta法构建离散系统模型的过程;

2)给出系统仿真程序;

3)给出仿真试验曲线;

4)分析仿真结果,从仿真模型实现的难易性、模型的稳定性、模型的精度等方面,对欧拉法、梯形法、二阶

显式Adams法及显式四阶Runge-Kutta法构造的离散系

统模型进行对比分析,并给出分析结论。

六、系统仿真程序

function []=RLC(R,L,C,U,t,h)

R=10;

L=0.01;

C=1.0e-6;

U=1;

t=0.01;

h = 2.0e-4;

m = fix(t/h);

n = 2;

A = [-R/L -1/L;1/C 0];

B = [1/L;0];

D = [0 1];

E = [1 0;0 1];

% 前向欧拉法 %

for i=1:1:n

x1(1:n,1) = 0;

end

for k=1:m

x1(1:n,k+1) = x1(1:n,k) + (A*

x1(1:n,k)+B)*h;

end

for k=1:1:m

y1(k) = D*x1(1:n,k);

end

% 后向欧拉法 %

x2(1:n,1) = 0;

end

A1 = inv(E-A*h);

for k=1:m

x2(1:n,k+1) = A1*(x2(1:n,k) + B*h);

end

for k=1:1:m

y2(k) = D*x2(1:n,k);

end

% 梯形法 %

for i=1:1:n

x3(1:n,1) = 0;

end

A2 = inv(E-A*h/2);

for k=1:m

x3(1:n,k+1) = A2*( x3(1:n,k) + B*h + A*x3(1:n,k)*h/2);

end

for k=1:1:m

y3(k) = D*x3(1:n,k);

end

% 二阶显示Adams法 %

for i=1:1:n

x4(1:n,1) = 0;

end

for k=1:m

x4(1:n,k+1) = A2*(x4(1:n,k) + B*h + A*x4(1:n,k)*h/2);

end

for k=3:m

fm1 = 23*(A*x4(1:n,k)+ B);

fm2 = -16*(A*x4(1:n,k-1)+ B);

fm3 = 5*(A*x4(1:n,k-2)+ B);

x4(1:n,k+1) = x4(1:n,k)+

(fm1+fm2+fm3)*h/12;

end

y4(k) = D*x4(1:n,k);

end

% 四阶Runge-Kutta法 %

for i=1:1:n % 状态变量初值

x5(1:n,1) = 0;

end

for k=1:m

x5(1:n,k+1) = A2*( x5(1:n,k) + B*h + A*x5(1:n,k)*h/2);

end

for k=1:1:m

k1=A*x5(1:n,k+1);

k2=A*(x5(1:n,k+1)+h*k1/2);

k3=A*(x5(1:n,k+1)+h*k2/2);

k4=A*(x5(1:n,k+1)+h*k3);

x5(1:n,k+1)=x5(1:n,k+1)+h.*

(k1+2*k2+2*k3+k4)./6;

end

for k=1:1:m

y5(k) = D*x5(1:n,k);

end

% 解析解 %

p = R/(2*L);

w=sqrt(1/(L*C)-(R/(2*L))^2);

for k=1:1:m

y(k) = U*(1-exp(-p*(k-1)*h) * (

cos(w*(k-1)*h) + sin(w*(k-1)*h)*p/w));

end

%输出曲线 %

for k=1:1:m

t(k) = (k-1)*h;

end

subplot(2,3,1),plot(t,y,'r',t,y1,'b')

legend('y解析解,','y1前向欧拉')

title('前向欧拉法')

subplot(2,3,2),plot(t,y,'r',t,y2,'b')

legend('y解析解,','y2后向欧拉')

title('后向欧拉法')

subplot(2,3,3),plot(t,y,'r',t,y3,'b') legend('y解析解,','y3梯形法')

title('梯形法')

subplot(2,3,4),plot(t,y,'r',t,y4,'b') legend('y解析解,','y4二阶显式Adams法') title('二阶显式Adams法')

subplot(2,3,5),plot(t,y,'r',t,y5,'b') legend('y解析解,','y5显式四阶Runge-Kutta 法')

title('显式四阶Runge-Kutta法')

六、仿真实验曲线

七、实验结论

1)欧拉法为单步计算法,为自动起步的。梯形法也为单步法,可以自动起步计算。二阶显示Adams法需要知道k个初始值,不能自起步,二次函数很复杂,常用单步法来得到所需的几个初始值,很为复杂。显式四阶Runge-Kutta法建模最为复杂,仿真时间也较长。

2)我们看到欧拉法最先与解析解分离开来,最后振荡开来,故稳定性最低;显式四阶Runge-Kutta法、二阶显示Adams 法和梯形法而则在较长时间可与曲线拟合收敛,故稳定性好。

3)显式四阶Runge-Kutta法,二阶显示Adams法模型的精度较高,函数曲线与真实曲线较为接近。其次精确的是梯形法,取梯形面积,误差也较小。前向欧拉法和后向欧拉法模型的精度最低。

4)二阶显示Adams法和梯形法对离散时间间隔要求低,前向欧拉法和后向欧拉法由于取的是矩形面积,离散时间间隔要求高。

5)从以上几种方法的仿真,共同规律是在小步长下都收敛,步长越小,误差越小,函数曲线与真实曲线较为接近;步长太大,最后的到的结果不是绝对收敛。同时,同一算法隐式算法要比显式算法稳定性好,计算精度高。

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验容及要求 选择如下一个应用背景之一: ●学生选课系统 ●习题3、4、和5中使用的数据库 ●其它你熟悉的应用 (1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的容: 3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据

2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例: 建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。 一、数据定义 创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 表2. Course表结构

表3. SC表结构 1.创建、修改及删除基本表 (1)创建Student表 CREATE TABLE Student (Sno CHAR(8)PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(20) ); (2)创建Course表 CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY, Cname CHAR(40)NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, ); (3)创建SC表 CREATE TABLE SC (Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno), Cno CHAR(4), Grade SMALLINT, ); (4)创建员工表Employee

数值计算实验课题目

数值实验课试题 本次数值实验课结课作业,请按题目要求内容写一篇文章。按题目要求 人数自由组合,每组所选题目不得相同(有特别注明的题目除外)。试题如下: 1)解线性方程组的Gauss 消去法和列主元Gauss 消去法(2人)/*张思珍,巩艳华*/ 用C 语言将不选主元和列主元Gauss 消去法编写成通用的子程序,然后用你编写的程序求解下列84阶的方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 1681684 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 2)解线性方程组的平方根法(4人)/*朱春成、黄锐奇、张重威、章杰*/ 用C 语言将平方根法和改进的平方根法编写成通用的子程序,然后用你编写的程序求解对称正定方程组b Ax =,其中 (1)b 随机的选取,系数矩阵为100阶矩阵 ?????? ???? ? ? ?101 1101 1101 1101 1101110 ; (2)系数矩阵为40阶的Hilbert 矩阵,即系数矩阵A 的第i 行第j 列元素为 1 1-+= j i a ij ,向量b 的第i 个分量为∑=-+ = n j i j i b 1 1 1. 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编

3.《数值分析简明教程》,王能超编 3)三对角线方程组的追赶法(3人)/*黄佳礼、唐伟、韦锡倍*/ 用C 语言将三对角线方程组的追赶法法编写成通用的子程序,然后用你编写的程序求解如下84阶三对角线方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 16816 84 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值分析简明教程》,王能超编 4)线性方程组的Jacobi 迭代法(3人)/*周桂宇、杨飞、李文军*/ 用C 语言将Jacobi 迭代法编写成独立的子程序,并用此求解下列方程组, 精确到小数点后5位 ???? ? ??=????? ??????? ? ?-149012 2111221 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 5)线性方程组的Gauss-Seidel 迭代法(3人)/*张玉超、范守平、周红春*/ 用C 语言将Gauss-Seidel 迭代法编写成独立的子程序,并用此求解下列方程组,精确到小数点后5位 ???? ? ??=????? ??????? ? ?--39721 1111112 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 6)解线性方程组的最速下降法法(2人)/*赵育辉、阿热孜古丽*/ 用C 语言将最速下降法编写成通用的子程序,然后用你编写的程序求解对称

计算机仿真实验

计算机仿真实验报告 专业:电气工程及其自动化班级:09电牵一班学号:22 姓名:饶坚指导老师:叶满园实验日期:2012年4月30日 一、实验名称 三相桥式SPWM逆变电路仿真 二、目的及要求 1.了解并掌握三相逆变电路的工作原理; 2.进一步熟悉MA TLAB中对Simulink的使用及构建模块; 3.掌握SPWM原理及构建调制电路模块; 4.复习在Figure中显示图形的程序编写和对图形的修改。 三、实验原理与步骤、电路图 1、实验原理图

2、电路原理(采用双极性控制方式) U、V和W三相的PWM控制通常公用一个三角波载波Uc,三相的调制信号Uru、Urv和Urw依次相差120°。 电路工作过程(U相为例):当Uru>Uc时,上桥臂V1导通,下桥臂V4关断,则U相相对于直流电源假想中点N’的输出电压Uun’=Ud/2。当Uru

对电路模型进行封装如下图示:

其中Subsystem1为主电路,Subsystem2为负载,Subsystem3为检测电路,Subsystem4为输入信号,Subsystem5为调制电路,Scope 为示波器,Repeating Sequence为三角载波。 各子系统电路分别如下所示: Subsystem1 Subsystem2 Subsystem3

HIT软件学院数据库实验1

哈尔滨工业大学 <<数据库系统>> 实验报告之一 (2014年度春季学期)

实验一交互式SQL语言 一、实验目的 ●掌握SQL语句的语法 ●着重熟悉掌握利用SQL编写Select查询的方法 ●熟悉SQLite的用法 二、实验内容 ●1) 双击打开sqlite3.exe,该程序为SQLite数据库管理系统 ●2) 利用.help查看SQLite支持的控制台系统命令。注意系统命令结尾处 没有结束符“;”

●3) 阅读.help中对.databases 命令的说明,并查看输出结果 ●4) 阅读.help中对.open命令的说明,并使用该命令创建一个数据库(名 字任意)后缀名统一为“.db3”(可以没有后缀名,但不推荐) ●5) 再次运行.databases 命令,与步骤3的输出结果对比 ●6) 阅读.help中对.tables命令的说明,并使用该命令查看当前数据库的所 有表 ●7) 创建满足要求的关系表(使用create table) ●表一 ●表名:College(存储大学的信息) ●属性:cName(字符串存储的大学名字),state(字符串格式的大学所在

州),enrollment(整数形式的大学入学学费) ●表二 ●表名:Student(存储学生的信息) ●属性:sID(整数形式的学号),sName(字符串形式的学生名字),GPA (小数形式的成绩),sizeHS(整数形式的所在高中规模) ●表三 ●表名:Apply(存储学生申请学校的信息) ●属性:sID(整数形式的学号),cName(字符串形式的大学名字),major (字符串形式的专业名字),decision(字符串形式的申请结果) ●8)利用.tables查看当前数据库中的表,对比步骤6中的运行结果 ●9) 利用如下命令,将存储在txt文件中的元组导入数据库的关系中●.separator "," ●.import dbcollege.txt College ●.import dbstudent.txt Student ●.import dbapply.txt Apply

曲线拟合的数值计算方法实验

曲线拟合的数值计算方法实验 【摘要】实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。曲线直线化是曲线拟合的重要手段之一。对于某些非线性的资料可以通过简单的变量变换使之直线化,这样就可以按最小二乘法原理求出变换后变量的直线方程,在实际工作中常利用此直线方程绘制资料的标准工作曲线,同时根据需要可将此直线方程还原为曲线方程,实现对资料的曲线拟合。常用的曲线拟合有最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束。 关键词曲线拟合、最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束 一、实验目的 1.掌握曲线拟合方式及其常用函数指数函数、幂函数、对数函数的拟合。 2.掌握最小二乘法、线性插值、三次样条插值、端点约束等。 3.掌握实现曲线拟合的编程技巧。 二、实验原理 1.曲线拟合 曲线拟合是平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。用解析表达式逼近离散数据的一种方法。在科学实验或社会活动中,通过 实验或观测得到量x与y的一组数据对(X i ,Y i )(i=1,2,...m),其中各X i 是彼此不同的。人们希望用一类与数据的背景材料规律相适应的解析表达式,y=f(x,c)来反映量x与y之间的依赖关系,即在一定意义下“最佳”地逼近或 拟合已知数据。f(x,c)常称作拟合模型,式中c=(c 1,c 2 ,…c n )是一些待定参 数。当c在f中线性出现时,称为线性模型,否则称为非线性模型。有许多衡量拟合优度的标准,最常用的一种做法是选择参数c使得拟合模型与实际观测值在

计算机仿真技术的发展概述及认识

计算机仿真技术的发展概述及认识 摘要:随着经济的发展和社会的进步,计算机技术高速发展,使人类社会进入了信息时代,计算机作为后期新秀渗入到人们生活中的每一个领域,给人们的生活带来了前所未有的变化。作为新兴的技术,计算机技术在人类研究的各个领域起到了只管至关重要的作用,帮助人类解决了许多技术难题。在科研领域,计算机技术与仿真技术相结合,形成了计算机仿真技术,作为人们科学研究的一种新型方法,被人们应用到各个领域,用来解决人们用纯数学方法或者现实实验无法解决的问题,对科研领域技术成果的形成有着积极地促进作用。 本文在计算机仿真技术的理论思想基础上,分析了计算机仿真技术产生的基本原因,也就是人们用计算机模拟解决问题的优点所在,讨论了模拟、仿真、实验、计算机仿真之间的联系和区别,介绍了计算机仿真技术的发展历程,并查阅相关资料介绍了计算机仿真技术在不同领域的应用,分析并预测了计算机仿真的未来发展趋势。经过查阅大量数据资料并加以分析对比,这对于初步认识计算机仿真技术具有重要意义。 关键词:计算机仿真;模拟;仿真技术;发展 一、引言 计算机仿真技术是以多种学科和理论为基础,以计算机及其相应的软件为工具,通过虚拟试验的方法来分析和解决问题的一门综合性技术。计算机仿真(模拟)早期称为蒙特卡罗方法,是一门利用随机数实验求解随机问题的方法。其原理可追溯到1773年法国自然学家G.L.L.Buffon为估计圆周率值所进行的物理实验。根据仿真过程中所采用计算机类型的不同,计算机仿真大致经历了模拟机仿真、模拟-数字混合机仿真和数字机仿真三个大的阶段。20世纪50年代计算机仿真主要采用模拟机;60年代后串行处理数字机逐渐应用到仿真之中,但难以满足航天、化工等大规模复杂系统对仿真时限的要求;到了70年代模拟-数字混合机曾一度应用于飞行仿真、卫星仿真和核反应堆仿真等众多高技术研究领域;80年代后由于并行处理技术的发展,数字机才最终成为计算机仿真的主流。现在,计算机仿真技术已经在机械制造、航空航天、交通运输、船舶工程、经济管理、工程建设、军事模拟以及医疗卫生等领域得到了广泛的应用。 二、基本概念 模拟:(Simulation)应用模型和计算机开展地理过程数值和非数值分析。不是去求系统方程的解析解,而是从系统某初始状态出发,去计算短暂时间之后接着发生的状态,再以此为初始状态不断的重复,就能展示系统的行为模式。模拟是对真实事物或者过程的虚拟。模拟要表现出选定的物理系统或抽象系统的关键特性。模拟的关键问题包括有效信息的获取、关键特性和表现的选定、近似简化和假设的应用,以及模拟的重现度和有效性。可以认为仿真是一种重现系统外在表现的特殊的模拟。 仿真:(Emulation)利用模型复现实际系统中发生的本质过程,并通过对系统模型的实验来研究存在的或设计中的系统,又称模拟。即使用项目模型将特定于某一具体层次的不确定性转化为它们对目标的影响,该影响是在项目仿真项目

数据库实验三

实验三订购数据库 (一)数据定义 一、基本表操作 1.建立基本表 1)创建仓库表,由以下属性组成:仓库号(CHAR 型),城市(CHAR 型),面积(INT 型)。其中仓库号为主码,并且有面积>0 的限定条件 2)创建职工表,由以下属性组成:仓库号(CHAR型),职工号(CHAR型),工资(INT型)。其中职工号为主码,仓库号为外码,工资的限定条件为1000<=工资<=5000。 3)创建供应商表,由以下属性组成:供应商号(CHAR型),供应商名(CHAR型),地址(CHAR 型)。其中供应商号为主码。 4)创建订购单表,由以下属性组成:职工号(CHAR型),供应商号(CHAR型),订购单号(CHAR 型),订购日期(CHAR型)。其中订购单号为主码,职工号和供应商号为外码。 2.修改基本表 1)往订购单表中增加一个新的属性“完成日期”,DATETIME型,并且允许为空值。 2)将职工表中的工资属性类型改为SMALLINT 型。 3)删除刚才在订购单表中加入的“完成日期”属性。 二、索引操作 1.建立索引 1)在订购单表上建立关于供应商号的普通索引supidx。 2)在订购单表的多个字段建立索引sup_empidx,先按照供应商号升序索引,然后按照职工号升序索引。 2.删除索引 1)删除订购单表上的索引supidx。 2)删除订购单表上的索引sup_empidx。 (二)数据操作 一、插入数据 1)向仓库表插入下列数据:WH1,北京,370 WH2,上海,500 WH3,广州,200 WH4,武汉,400 2)向职工表插入下列数据:WH2,E1,1220 WH4,E2,1270 WH1,E3,1210 WH2,E4,1250 WH3,E5,1200 WH3,E6,1230 WH1,E7,1250 3)向供应商表插入下列数据: S1,利民电子元件厂,上海 S2,联华电子公司,武汉 S3,振华电子厂,西安

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

北邮大数据库实验三

实验三完整性及视图、索引 视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。索引能够提供一种以一列或多列的值为基础迅速查找数据表(或视图)中行的能力,用来快速访问数据表(或视图)中的数据。触发器是一种特殊的存储过程,它在特定语言事件发生时自动执行,通常用于实现强制业务规则和数据完整性。 【实验目的】 掌握MySQL视图、索引的使用,理解什么是数据库的完整性。 【实验要求】 1、每完成一个任务,截取全屏幕快照1~3作为中间步骤和结果的贴图,粘贴在最后的实验报告中。 2、除了使用我们提供的数据外还要自己向表中添加些新数据,以保证每个查询结果不为空集,或计数结果不为0。 3、思考题可以选做,作为优秀加分的依据。 【实验任务】 1、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号 及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

2、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号、 课程名及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

3、为院系代码表(dept_code)创建基于“院系代码”列的索引。 4、为教室信息表(classroom_info)创建基于room_id列的惟一索引并插入一 条room_id列与表中已有的值重复的数据,观察系统的反馈。

5、重新修改表stud_info、lesson_info及stud_grade,修改的容为: ①为三表增加主码约束,stud_info的主码为stud_id,lesson_info的主码为 course_id,stud_grade的主码为stud_id、course_id。

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

计算机仿真实训实验报告实验1-4

实验一 熟悉MATLAB 工作环境 16电气5班 周树楠 20160500529 一、实验目的 1.熟悉启动和退出MATLAB 软件的方法。 2.熟悉MATLAB 软件的运行环境。 3.熟悉MATLAB 的基本操作。 二、实验设备及条件 计算机一台(带有MATLAB6.0以上的软件境)。 三、实验内容 1.练习下面指令: cd,clear,dir,path,help,who,whos,save,load 。 2.建立自己的工作目录MYBIN 和MYDATA ,并将它们分别加到搜索路径的前面或者后面。 3.求23)]47(*212[÷-+的算术运算结果。 4.M 文件的建立,建立M 文件,求出下列表达式的值: ?? ????-+=++=+= 545.0212),1ln(21 185sin 2222 1i x x x z e z o 其中

5.利用MATLAB的帮助功能分别查询inv、plot、max、round函数的功能和用法。 四、运行环境介绍及注意事项 1.运行环境介绍 打开Matlab软件运行环境有图1-1所示的界面

图1-1 MATLAB的用户界面 操作界面主要的介绍如下: 指令窗( Command Window ),在该窗可键入各种送给 MATLAB 运作的指令、函数、表达式,并显示除图形外的所以运算结果。 历史指令窗( Command History ),该窗记录已经运行过的指令、函数、表达式;允许用户对它们进行选择复制、重运行,以及产生 M 文件。 工作空间浏览器( Workspace Browser ),该窗口罗列出 MATLAB 工作空间中所有的变量名、大小、字节数;并且在该窗中,可对变量进行观察、编辑、提取和保存。 其它还有当前目录浏览器( Current Directory Browser )、 M 文件编辑 / 调试器(Editor/Debugger )以及帮助导航/ 浏览器(Help Navigator/Browser )等,但通常不随操作界面的出现而启动。 利用 File 菜单可方便对文件或窗口进行管理。其中 File | New 的各子菜单, M-file ( M 文件)、 Figure (图形窗口)、或 Model ( Simulink 编辑界面)分别可创建对应文件或模块。 Edit 菜单允许用户和 Windows 的剪切板交互信息。 2.在指令窗操作时应特别注意以下几点 1)所有输入的指令、公式或数值必须按下回车键以后才能执行。例如: >>(10*19+2/4-34)/2*3 (回车) ans= 234.7500 2)所有的指令、变量名称都要区分字母的大小写。 3)%作为MATLAB注释的开始标志,以后的文字不影响计算的过程。 4)应该指定输出变量名称,否则MATLAB会将运算结果直接存入默认的输出变量名ans。 5)MATLAB可以将计算结果以不同的精确度的数字格式显示,可以直接在指令视窗键入不同的数字显示格式指令。例如:>>format short (这是默认的) 6)MATLAB利用了↑↓二个游标键可以将所输过的指令叫回来重复使用。按下↑则前一次输入的指令重新出现,之后再按Enter键,即再执行前一次的指令。

数据库实验三

注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:4 二、实验目的 (1) 掌握使用T-SQL语句创建、删除数据库的方法。 (2) 掌握使用T-SQL语句创建、修改、删除表的方法。 (3) 掌握使用T-SQL语句创建、删除数据库完整性约束条件的方法。 (4) 掌握使用T-SQL语句对表添加、修改、删除数据的方法。 (5) 掌握使用T-SQL语句创建、修改、删除、查询视图的方法。 三、实验要求 (1) 使用SQL Server 2008查询分析器。 (2) 严格依照操作步骤进行。 (3) 在本地服务器中创建和管理数据库。 四、实验环境 (1) PC机。 (2) SQL Server 2008。 五、实验内容及步骤(请特别注意实验步骤:第6项的第1小项,即“插入数据”操作必须在第4项以前执行) ??? 1.使用Transact-SQL语句创建JOBS数据库,数据库名格式为 JOBS_SunYu(即JOBS_你的中文名字拼音) CREATE Database JOBS_DengZhiPeng;

2.使用Transact-SQL语句创建JOBS数据库包含的所有表 EMPLOYEE CREATE TABLE EMPLOYEE( EMPNO SMALLINT NOT NULL, SUPNAME VARCHAR(50)NOT NULL, FORENAMES VARCHAR(50)NOT NULL, DOB DATE NOT NULL, ADDRESS VARCHAR(50)NOT NULL, TELNO CHAR(10)NOT NULL, DEPNO SMALLINT NOT NULL ); JOBHISTORY CREATE TABLE JOBHISTORY( EMPNO SMALLINT NOT NULL, POSITION VARCHAR(50)NOT NULL, STARDATE DATE NOT NULL, ENDDATE DATE NULL, SALARY INT NOT NULL ); COURSE CREATE TABLE COURSE( COURSENO SMALLINT NOT NULL, CNAME VARCHAR(50)NOT NULL, CDATE DATE NOT NULL ); DEPARTMENT CREATE TABLE DEPARTMENT( DEPNO SMALLINT NOT NULL, DNAME VARCHAR(50)NOT NULL, LOCATION VARCHAR(10)NOT NULL, HEAD SMALLINT NOT NULL ); EMPCOURSE CREATE TABLE EMPCOURSE( EMPNO SMALLINT NOT NULL,

数值计算方法实验5

实验报告 学院(系)名称: 主程序部分列选主元部分

实验结果: 一.列主元消去法 输入各个数据,最终使用列选主元法,得到结果为:x1=x2=x3=1二.高斯-赛德尔迭代法 输入各个数据,输出每一步迭代数据,最终结果为:x1=0.285716,附录(源程序及运行结果) 一.列主元高斯消去法 #include #include void print(double a[3][3],int n,double b[3]){ printf("输出矩阵:\n"); for(int i=0;ifabs(d)){ d=a[i][k]; l=i; } i++; } printf("选出主元:%lf\n",d); if(d==0) printf("矩阵奇异!\n"); else if(l!=k){ for(int j=k;j

计算机仿真实验-基于Simulink的简单电力系统仿真参考资料

实验七 基于Simulink 的简单电力系统仿真实验 一. 实验目的 1) 熟悉Simulink 的工作环境及SimPowerSystems 功能模块库; 2) 掌握Simulink 的的powergui 模块的应用; 3) 掌握发电机的工作原理及稳态电力系统的计算方法; 4)掌握开关电源的工作原理及其工作特点; 5)掌握PID 控制对系统输出特性的影响。 二.实验内容与要求 单机无穷大电力系统如图7-1所示。平衡节点电压044030 V V =∠?。负荷功率10L P kW =。线路参数:电阻1l R =Ω;电感0.01l L H =。发电机额定参数:额定功率100n P kW =;额定电压440 3 n V V =;额定励磁电流70 fn i A =;额定频率50n f Hz =。发电机定子侧参数:0.26s R =Ω,1 1.14 L mH =,13.7 md L mH =,11 mq L mH =。发电机转子侧参数:0.13f R =Ω,1 2.1 fd L mH =。发电机阻尼绕组参数:0.0224kd R =Ω,1 1.4 kd L mH =,10.02kq R =Ω,11 1 kq L mH =。发电机转动惯量和极对数分别为224.9 J kgm =和2p =。发电机输出功率050 e P kW =时,系统运行达到稳态状态。在发电机输出电磁功率分别为170 e P kW =和2100 e P kW =时,分析发电机、平衡节点电源和负载的电流、电磁功率变化曲线,以及发电机转速和功率角的变化曲线。

G 发电机节点 V 负 荷 l R l L L P 图 7.1 单机无穷大系统结构图 输电线路 三.实验步骤 1. 建立系统仿真模型 同步电机模块有2个输入端子、1个输出端子和3个电气连接端子。模块的第1个输入端子(Pm)为电机的机械功率。当机械功率为正时,表示同步电机运行方式为发电机模式;当机械功率为负时,表示同步电机运行方式为电动机模式。在发电机模式下,输入可以是一个正的常数,也可以是一个函数或者是原动机模块的输出;在电动机模式下,输入通常是一个负的常数或者是函数。模块的第2个输入端子(Vf)是励磁电压,在发电机模式下可以由励磁模块提供,在电动机模式下为一个常数。 在Simulink仿真环境中打开Simulink库,找出相应的单元部件模型,构造仿真模型,三相电压源幅值为4403,频率为50Hz。按图连接好线路,设置参数,建立其仿真模型,仿真时间为5s,仿真方法为ode23tb,并对各个单元部件模型的参数进行修改,如图所示。

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

计算机仿真实验报告实验

《计算机仿真》上机实验报告 姓名: 学号: 2012104021 专业:测控 班级: 12级

实验一常微分方程的求解及系统数学模型的转换一.实验目的 通过实验熟悉计算机仿真中常用到的Matlab指令的使用方法,掌握常微分方程求解指令和模型表示及转换指令,为进一步从事有关仿真设计和研究工作打下基础。 二. 实验设备 个人计算机,Matlab软件。 三. 实验准备 预习本实验有关内容(如教材第2、3、5章中的相应指令说明和例题),编写本次仿真练习题的相应程序。 四. 实验内容 1. Matlab中常微分方程求解指令的使用 题目一:请用MATLAB的ODE45算法分别求解下列二个方程。要求:1.编写出Matlab 仿真程序;2.画出方程解的图形并对图形进行简要分析;3.分析下列二个方程的关系。 1.2. 1.function fun=funl(t,x) fun=-x^2;

[t,x]=ode45('fun1',[0,20],[1]); figure(1);plot(t,x); grid 2.function fun=fun2(t,x) fun=x^2; [t,x]=ode45('fun2',[0,20],[-1]); figure(2);plot(t,x); grid

题目二:下面方程组用在人口动力学中,可以表达为单一化的捕食者-被捕食者模式(例如,狐狸和兔子)。其中1x 表示被捕食者, 2x 表示捕食者。如果被捕食者有无限的食物,并且不会出现捕食者。于是有1'1x x ,则这个式子是以指数形式增长的。大量的被捕食者将会使捕食者的数量增长;同样,越来越少的捕食者会使被捕食者的数量增长。而且,人口数量也会增长。请分别调用ODE45、ODE23算法求解下面方程组。要求编写出Matlab 仿真程序、画出方程组解的图形并对图形进行分析和比较。 1.ODE45

数据库实验三报告

江西师范大学计算机信息工程学院学生实验报告专业___计算机科学与技术__ 姓名___燕悦__ 学号__1408091077_ 日期__ __

四.程序及运行结果(或实验数据记录及分析) 针对S_T数据库: 1)创建三个表:student course sc。程序: use S_T go /*创建Student表*/ create table student( Sno char(5) primary key not null check(Sno like '[0-9][0-9][0-9][0-9][0-9]'), Sname char(20) not null, Ssex char(2) not null check(Ssex in ('男','女')), Sage smallint not null check(Sage between 14 and 38), Sdept char(20) not null ); /*创建Course表*/ create table course( Cno char(4) not null primary key check(Cno like '[0-9][0-9][0-9][0-9]'), Cname char(40) not null, Cpno char(4), Ccredit smallint not null ); /*创建SC表*/ create table sc( Sno char(5) not null , Cno char(4) not null, Grade smallint check(Grade between 0 and 100), primary key(Sno,Cno)); 执行结果: 2)对course表进行修改。程序: /*修改course表,为Cpno列添加一个外键约束*/ alter table course add foreign key (Cpno) references course(Cno); 执行结果:

数值分析实验报告总结

数值分析实验报告总结 随着电子计算机的普及与发展,科学计算已成为现代科 学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。 算法算法是指由基本算术运算及运算顺序的规定构成的完 整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。 误差 计算机的计算结果通常是近似的,因此算法必有误差, 并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表 第三章泛函分析泛函分析概要 泛函分析是研究“函数的函数”、函数空间和它们之间 变换的一门较新的数学分支,隶属分析数学。它以各种学科

如果 a 是相容范数,且任何满足 为具体背景,在集合的基础上,把客观世界中的研究对象抽 范数 范数,是具有“长度”概念的函数。在线性代数、泛函 分析及相关的数学领域,泛函是一个函数,其为矢量空间内 的所有矢量赋予非零的正长度或大小。这里以 Cn 空间为例, Rn 空间类似。最常用的范数就是 P-范数。那么 当P 取1, 2 ,s 的时候分别是以下几种最简单的情形: 其中2-范数就是通常意义下的距离。 对于这些范数有以下不等式: 1 < n1/2 另外,若p 和q 是赫德尔共轭指标,即 1/p+1/q=1 么有赫德尔不等式: II = ||xH*y| 当p=q=2时就是柯西-许瓦兹不等式 般来讲矩阵范数除了正定性,齐次性和三角不等式之 矩阵范数通常也称为相容范数。 象为元素和空间。女口:距离空间,赋范线性空间, 内积空间。 1-范数: 1= x1 + x2 +?+ xn 2-范数: x 2=1/2 8 -范数: 8 =max oo ,那 外,还规定其必须满足相容性: 所以

基于Matlab的空间滤波实验的计算机仿真.

35 基于Matlab 的空间滤波实验的计算机仿真 张奇辉,王洪,蓝发超 (华南理工大学物理科学与技术学院,广东广州 510640 摘要:利用阿贝-波特实验装置和空间滤波系统,从改变频谱入手改造一幅光学图形进行光学信息处理。在 此基础上,通过Matlab 环境编写程序完成阿贝-波特实验的物理模型的构建并进行计算机模拟实验。 关键词:计算机模拟;Matlab ;空间滤波 中图分类号:TP391.9 文献标识码:A 文章编号:1003-7551(200801-0035-04 1 引言 在工程设计领域中,人们通过对研究对象建立模型,用计算机程序实现系统的运行和得到运行结果,寻找出最优方案,然后再予以物理实现,这就是计算机仿真科学。在计算机日益普及的今天,计算机仿真技术作为虚拟实验手段已经成为计算机应用的一个重要分支。它是继理论分析和实物实验之后,认识客观规律性的新型手段。作为科学计算软件,Matlab 的特点是使用方便、输入便捷、运算功能齐全,而且有大量的函数可供使用。因此本文提出基于Matlab 软件,通过在频谱面上设置滤波器对空间频谱的处理,实现对阿贝-波特 实验装置和空间滤波系统的模拟。为了实现仿真实验操作的方便,本文设计出了图形用户可操作界面(GUI 。 2 空间滤波原理

根据阿贝成像原理,相干光学成像过程可分为两步:第一步称为分频过程,即从物平面到光源的共轭像平面或曰频谱面,由输入的物作为衍射屏对照射光波产生夫琅和费衍射;第二步称为合频或频谱综合过程,即从频谱面到输入物的共轭像平面,被分解的频谱成分经进一步的衍射后再次叠加形成输入物的共轭像。按照傅里叶变换理论,两步成像过程实际上是光学系统对携带输入物信息的二维光场的复振幅分布进行的两次傅里叶变换过程。 以图1所示4f 成像系统为例,此时输入平面O(即物平面位于透镜1L 的前焦平面,输出平面I(即像平面位于透镜1L 的后焦平面。透镜1L 和2L 分别起分频(傅里叶变换和合频(逆傅里叶变换作用。设输入图像的复振幅分布为,(y x g ,透镜1L 后焦平面T(即频谱面上的复振幅分布为,(ηξG ,按照傅里叶光学理论,当1L 的孔径无限大时,函数,(ηξG 即等于,(y x g 的傅里叶变换,而,(y x g 为,(ηξG 的傅里叶逆变换,即 (,(,exp i2(d d x y x y G f f g x y f x f y x y π∞ ?∞ ??=?+??∫∫(1 (,(,exp[i2(]d d g x y G x y ξηπμνμν∞∞ ?∞?∞=+∫∫ (2 其中/f μξλ=,/f νηλ=,表示光场(,G ξη的空间频率。设(','g x y 为透镜2L 后焦平面I(输出平面上的复振幅分布,同样,当2L 的孔径无限大时,(','g x y 就等于的傅里叶变换: (','(,exp[i2('']d d g x y G x y ξηπμνμν∞∞?∞?∞= +∫∫ (3 可以得 (','(,g x y g x y ∝?? (4 即输出图像是输入图像的倒置,且在几何上相似。

相关主题
文本预览
相关文档 最新文档