计算数值实验报告材料(太原理工大学)
- 格式:doc
- 大小:303.00 KB
- 文档页数:46
实验报告二课程名称:数据结构实验名称:数据结构实验地点:计算机110机房专业班级:计科Z1501 学号:2015001909 学生姓名:刘元瑞指导教师:孟亮2016年12 月23 日2.编写递归算法,计算二叉树中叶子结点的数目。
#include <stdio.h>#include<malloc.h>struct node{char info;struct node *llink, *rlink;};typedef struct node NODE;NODE *create(){ //构造二叉树char x;NODE *p;scanf("%c", &x);printf("%c", x); //打印出已输入的二叉树if(x!='.'){p=(NODE *)malloc(sizeof(NODE));p->info=x;p->llink=create();p->rlink=create();}else p=NULL;return p;}int run(NODE *t){static int count=0;if(t){run(t->llink); //递归遍历左子树,直到叶子处run(t->rlink); //递归遍历右子树,直到叶子处if(t->llink ==NULL && t->rlink == NULL) {count++;}}return count;}main(){ NODE *T;int left_number;printf("请输入一棵树:\n" );T=create();printf("\n");if(!T) printf("This is a empty binary tree.");else{left_number=run(T);printf("\n这棵树共有%d 个子叶. \n", left_number);}printf("\n");}3.编写递归算法,在二叉树中求位于先序序列中第K个位置的结点。
课程名称:计算机数值方法实验项目:方程求根,线性方程组的直接解法与迭代解法,代数插值,最小二乘法拟合多项式实验地点:逸夫楼402专业班级:学号:学生姓名:指导教师:***2012年4月26日太原理工大学学生实验报告}3.追赶法五、实验数据记录和处理1.二分法2..牛顿法六、实验结果与分析通过这个两个程序可看出,二分法的计算量更大一些。
七、讨论、心得通过这个实验,我了解了线性方程的一些求根方法,对于方程近似值的求解有了更多的理解。
太原理工大学学生实验报告for(i=1;i<=n;++i){y[i] = b[i];for(j=1;j<i;++j){y[i]-=l[i][j]*y[j];}}for(i=n;i>0;--i){x[i] = y[i];for(j=i+1;j<=n;++j){x[i]-=u[i][j]*x[j];}x[i]/= u[i][i];}for(i=1;i<=n;++i){printf("%0.2lf\n",x[i]);}return 0;}五.实验数据记录和处理1.高斯2.LU分解六、实验结果与分析本次实验数据较多,在输入上要多费点功夫,一不小心就全部都错了。
在今后编程过程中,一定要小心谨慎。
七、讨论、心得通过本次实验,我深刻理解了直接法在计算机上解线性方程组的有效性,对于Gauss消元法、LU分解法也有了深刻的理解。
实验地点逸夫楼402指导教师于亚男太原理工大学学生实验报告学院名称软件学院专业班级学号学生姓名实验日期4月26日成绩课程名称计算机数值方法实验题目线性方程组的迭代解法一、实验目的和要求掌握雅可比迭代法和高斯-赛德尔迭代法对方程组进行求解二、实验内容和原理六、实验结果与分析在本次实验中,编程不太容易,对c/c++的学习应该更进一步。
七、讨论、心得通过这次实验,我明白了雅克比迭代的一般性解法,对于编程的应用也有了更深刻的理解。
TAIYUAN UNIVEaSIIY OF TECHNOLOGY本科实验报告计算机数值方法课程名称:实验项目:方程求根,线性方程组的直接求解, 线性方程组的迭代求解,代数插值和最小二乘法拟合实验地点:软件楼208 _______________专业班级:学号:学生姓名:___________________________指导教师:李志崔冬华2015年6月5 日实验内容和要求(必填)目的:《数值计算方法》是一门实践性和实用性都很强的课程,学习的目的在于应用已有的理论基础和技术方法,实现对实际计算问题的计算机求解。
本实验配合《计算数值方法》课堂教学,通过上机实践实验环节,巩固课堂和书本上所学的知识、加强实践能力、提高解决实际计算问题的水平、启发创新思想。
其基本目的是:(1)培养理论联系实际的思路,训练综合运用已经学过的理论和实际知识去分析和解决实际问题的能力。
(2)帮助学生全面消化已学的相关课程内容,深刻理解计算数值方法课程的内涵,培养使用电子计算机进行科学计算和解决问题的能力。
(3)进行基本技能训练和巩固。
使学生得到选择算法、编写程序、分析数值结果、写数值试验报告、课堂讨论等环节的综合训练。
要求:(1)应用结构化程序设计编出通用程序,源程序要有详细的注释和说明;(2)比较计算结果,分析数值解误差的原因;(3)实验完成,要求提交实验结果并写出报告,分析计算结果是否符合问题的要求,找出计算成功的原因或计算失败的教训。
实验原理(必填)选择上述方法中的两种方法求方程:f(x)=x3+4x2-10=0在[1,2]内的一个实根,且要求满足精度lx*-x n l<0.5x10-5主要仪器设备笔记本计算机实验记录(写出实验内容中的程序代码和运行结果)(可分栏或加页)迭代法:#include "stdafx.h"#include"stdio.h"#include〃math.h〃#include〃iostream〃using namespace std;float main()(float a;cin>>a;float t, x;x=a;do(x=sqrt((10-x*x*x)/4);t=a;a=x;}while(fabs(a-t)>0.5*1e-5);printf(〃x=%f〃,a); system(〃pause〃);)割线法:#include "stdafx.h"#include〃stdio.h〃#include〃math.h〃#include〃iostream〃using namespace std;float main()(float c,a=1.0,b=2.0;//cin>>a>>b;while(1)(c=b-(b*b*b+4*b*b-10)*(b-a)/(b*b*b+4*b*b-(a*a*a+4*a*a));if (fabs(b-c)<0.5*0.000001) break;b=c;)cout<<c;)实验结果和分析实验结果:心得体会(遇到的问题和解决方法)使用不同的方法,可以不同程度的求得方程的解,不同的方法速度不同。
本科实验报告课程名称:计算数值方法实验地点:综合楼五层506室专业班级:计科1002 学号:2010001414 学生姓名:xxx指导教师:王峥2012 年 6 月20太原理工大学学生实验报告2,)内有零点,反之在(a,(a+b)/2printf("%5d %5f %5f %5f %5f\n",i,a,b,x,fx);i++;if(fx==0) break;if(fx>0) b=x;else if(fx<0) a=x;if((b-a)<l)break; //进行计算并返值}while(1);}六、结果讨论和分析二分法:迭代法:太原理工大学学生实验报告六、结果讨论和分析Gauss消元法:列主元素消元法:LU分解法:追赶法:太原理工大学学生实验报告分析讨论:其实,这两个迭代法是之前迭代法的升级,多了几个迭代式子而已,而且两者相差不大比较简单,所以选择了雅克比迭代法进行求解,但是没有与另一种方法高斯赛德尔迭代法进行实质性的比较。
流程图:实验地点综合楼五层506室指导教师王峥太原理工大学学生实验报告六、结果讨论和分析分析讨论由于该程序将A矩阵和x0的值编写在程序中,所以要想修改成其他矩阵时比较麻烦,所以也有一定的局限性。
幂法是一种求任意矩阵A的按模最大特征值及其对应特征向量的迭代算法。
该方法的最大优点是计算简单,容易在计算机上实现,对稀疏矩阵较为适合,但有时收敛速度很慢。
流程图:实验地点综合楼五层506室指导教师王峥太原理工大学学生实验报告for(int i=1;i<=n;i++){M[i][j]=(M[i][j-1]-M[i-1][j-1])/(M[i][0]-M[i-j+1][0]);}}for(int i=1;i<=n;i++){cout<<"其"<<i<<"阶均差为:"<<M[i][i+1]<<endl;}cout<<"请输入x的值:x=";cin>>xx;for(int i=0;i<n;i++){X*=xx-M[i][0];N+=M[i+1][i+2]*X;P=M[0][1]+N;}cout<<"其函数值:y="<<P<<endl; // }}六、结果讨论和分析太原理工大学学生实验报告分析讨论数据拟合的具体作法是:对给定的数据(x i,y i)(i=0,1,…,m),在取定的函数类中,求p(x)属于此函数类,使误差ri =p(xi)- yi(i=0,1,…,m)的平方和最小,即∑r i2=∑(∑p(x i)-y i)2=min从几何意义上讲,就是寻求与给定点(x i ,y i)(i=0,1,…,m)的距离平方和为最小的曲线y=p(x)。
实验名称:线性表一.目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。
要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。
二.例题[问题描述]用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。
[输入]初始字符串,插入位置,插入字符,删除字符。
[输出]已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。
[存储结构]采用链式存储结构[算法的基本思想]建立链表:当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各个结点的数据域。
[参考源程序]#define NULL 0typedef struct node{char a;struct node *link;}node,*nodelink;void readlink(nodelink head){nodelink p,q;char c;p=head;printf("Input a linktable(a string):");scanf("%c",&c);if (c=='\n') printf("This string is empty。
");while(c!='\n'){q=(nodelink)malloc(sizeof(node));q->a=c;p->link=q;p=q;scanf("%c",&c);}p->link=NULL;}void writelink(nodelink head){nodelink q;if (head->link==NULL) printf(" This link is empty。
实验报告课程名称:EDA技术与FPGA应用设计课设题目:2位十进制计数器实验地点:信息学院楼CPLD实验室专业班级:学号:学生姓名:指导教师:张文爱2016年4月1日实验二2位十进制计数器一、实验目的1.熟悉ispDesignEXPERT System、QuartusII的原理图设计流程的全过程。
2.学习简单时序电路的设计方法。
3.学习EDA设计的仿真和硬件测试方法。
二、实验原理2位十进制计数器参考原理图如图1所示,也可以采用其他元件实现。
图1.用74LS390设计一个有时钟使能的2位十进制计数器三、实验任务(1)设计2位十进制计数器电路。
(2)在EDA环境中输入原理图。
(3)对计数器进行仿真分析、引脚锁定、硬件测试。
四、实验步骤1、设计电路原理图设计含有时钟使能及进位扩展输出的十进制计数器。
可以选用双十进制计数器74LS390或者十进制计数器74LS160和其他一些辅助元件来完成。
2、计数器电路的实现。
绘制过程中应特别注意图形设计规则中信号标号和总线的表达方式。
若将一根细线变成一粗线显示的总线,可以先单机使其变红,再选Option选项中的Line Style;若在某线上加信号标号,也应该点击该线某处使其变成红色,然后键入标号名称,标有相同标号的线段可视为连接线段,不必直接连接。
总线可以以标号方式进行连接。
3、编程测试。
五、实验结果图2.用74LS390设计一个有时钟使能的2位十进制计数器六、实验感想通过本次实验学会了简单时序电路的设计方法。
学会了使用QuartusII软件调用元器件库进行原理图设计的方法和设计流程。
这次实验让我学会了用FPGA设计电路并且学会了FPGA的设计过程和实现方法。
提高了动手能力,加深了对所学知识的理解。
这次EDA实验,提高了动手能力,加深了对所学知识的理解。
本科实验报告课程名称:数据库系统原理B实验项目:交互式SQL、数据完整性实验地点:专业班级:学号:学生姓名:指导教师:2015年 6 月 24 日检查数据是否被修改:检查数据是否删除:单表查询:查询学生基本信息,结果集属性名使用查询信息系且年龄大于23岁同学的学号汉字无结果查询年龄是17、18、20、23岁同学的查询年龄不在21~24岁之间的学生的姓名、学号、姓名、年龄和所在系系别和年龄分组统计:统计每个同学的学号、选课数、平均成绩统计每个班的每门课的选课人数、平均成绩连接查询:查询选修了2号课程的同学的学号和姓名查询各门课程的课程号、课程名称以及选课学生的学号查询选修了数据库系统原理课程的同学的学号六、实验结果与分析StudentCourse Sc比较使用视图查询和直接从基表查询的优点1.视图可以简化用户的操作视图机制使用户可以将注意力集中在所关心的数据上,而从基本表直接得来则显得复杂,定义了视图则可以简化查询操作。
2.视图使用户能以多种角度看待同一数据视图可以让用户从不同的方式看待同一数据,适当利用视图可以比基本表更清晰地表达。
3.视图对重构数据库提供了一定程度的逻辑独立性逻辑结构改变,不影响程序使用。
4.视图能够对机密数据提供安全保护视图可以让特定的用户查询特定的内容,把用户限制在数据不同的子集,保证安全性。
七、讨论、心得这个实验是对数据库基本操作的熟悉,花费了大量的时间去进行测试,有时候是出错不是因为代码错误,而是因为插入数据是不能一一对应,或是在连接时出现问题,与表的定义也有一定的关系。
总之编写的时候遇到不少问题,通过解决问题来熟悉了操作,更是要耐心的解决问题,有时候出错的问题非常简单,只要认真的检查一下代码就能发现,希望自己可以在编写代码时更加认真。
实验三:数据完整性一、实验目的(1)了解 SQL Serer数据库系统中数据完整性控制的基本方法(2)熟练掌握常用 CREATE 或 ALTER 在创建或修改表时设置约束(3)了解触发器的机制和使用(4)验证数据库系统数据完整性控制二、实验内容和要求结合 ST数据库中的各个表,设置相关的约束,要求包括主键约束、外键约束、唯一约束、检查约束、非空约束等,掌握各约束的定义方法。
本科实验报告课程名称:《Matlab电子信息应用》实验项目:基本操作和简单语句输入实验地点:虎裕校区图书馆实验时间:2014.05.16专业班级:通信1201班学号:学生姓名:指导教师:实验报告一、实验环境计算机和MATLAB软件二、实验目的1.熟悉matlab的命令窗口2.掌握matlab的一些基本操作,能够进行一般的数值计算。
3.实现语句的重调和修改。
四、实验内容与步骤1.启动MATLAB.2.观察MATLAB窗口的各个组成部分(1)了解菜单栏各菜单项的功能,用鼠标打开MATLAB的各个菜单,在状态栏里显示当前鼠标所指的菜单项的含义。
(2)用鼠标指向常用工具栏的每个工具按钮,了解各工具按钮的含义。
3.命令窗口的打开和关闭(1)查看菜单窗口中有哪些菜单命令。
(2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b,然后回车,查看命令显示结果。
>> a=3;b=4;y=a*b+a/b,y =12.7500(3)利用MATLAB中编辑命令行时常用的按键功能,调出上一个语句,对它进行修改(如把分号改成逗号,看运行结果),并把运行结果复制到word中保存。
>> a=3,b=4,y=a*b+a/b,a =3b =4y =12.7500(4)关闭命令窗口。
(5)打开命令窗口。
4.使用MATLAB帮助熟悉MATLAB的帮助系统,通过帮助系统了解有关内容。
5.在命令窗口中输入demo,将出现MATLAB的演示窗,通过演示窗,对MATLAB的功能进行一次浏览。
五、实验练习题目、过程、结果及分析>> x=2,y=x^3+[(x-0.98)^2/(x+1.25)^3]-5*(x+1/x)x =2y =-4.4697>> x=3,y=x^3+[(x-0.98)^2/(x+1.25)^3]-5*(x+1/x)x =3y =10.3865三。
>> cos(pi/3)-(9-2^1/2)^1/2ans =-3.5000四>> a=3;A=4;b=a^2;B=b^2-1;c=a+A-2*B;C=a+B+2*cC =-223五'.>> z1=1+3*i;z2=1+2*i;z3=2*exp(pi/6*i);z=z1*z2/z3 z =-0.9151 + 3.4151i。
太原理工大学实验报告太原理工大学实验报告太原理工大学,作为一所重点高校,一直以来致力于培养高素质的工科人才。
实验教学是培养学生创新能力和实践能力的重要环节之一。
本文将以太原理工大学实验报告为主题,探讨实验报告在学生学习中的重要性以及实验报告的写作要点。
实验报告是实验课程的重要组成部分,通过实验报告的撰写,学生能够对实验过程进行总结和归纳,进一步加深对实验原理和方法的理解。
同时,实验报告也是学生表达自己观点和思考的重要途径,培养学生的科学思维和逻辑思维能力。
那么,如何写好一份实验报告呢?首先,实验报告应该包括实验目的、实验原理、实验步骤、实验结果和实验结论等内容。
在实验目的部分,要明确实验的目标和意义,指导读者对实验有一个整体的了解。
实验原理部分要简明扼要地介绍实验所涉及的理论知识,让读者对实验原理有一个初步的认识。
实验步骤部分要详细描述实验的步骤和操作过程,以便读者能够复现实验。
实验结果部分要准确地记录实验数据和观察结果,可以采用表格、图表等形式进行展示。
实验结论部分要对实验结果进行分析和总结,得出科学的结论,并提出对实验的改进意见。
另外,实验报告的写作还需要注意一些细节。
首先,语言要准确、简洁,避免使用口语化的表达方式。
其次,要注意实验数据的精确性和可靠性,避免出现错误的数据和结论。
此外,实验报告还要注意排版和格式的规范性,包括页眉、页脚、标题、字体、行间距等。
最后,还要注意实验报告的内容和结构的合理性,避免出现冗长和重复的内容。
实验报告的写作不仅是一种技巧,更是一种思维方式的培养。
通过实验报告的写作,学生可以培养自己的科学思维和逻辑思维能力,提高自己的实践动手能力和创新能力。
同时,实验报告的写作也是对学生实验过程的一个回顾和总结,有助于加深对实验原理和方法的理解。
太原理工大学一直注重实验教学的质量和效果。
学校为学生提供了先进的实验设备和优质的实验环境,为学生的实验学习提供了良好的条件。
同时,学校也鼓励学生积极参与科研实践和创新活动,提供了一系列的科研实验项目和竞赛机会。
本科实验报告课程名称:微型计算机原理及应用实验项目:多位十进制数相加实验地点:博学馆四层微机实验室专业班级:学号:学生姓名:指导教师:年月日多位十进制数相加一、实验目的:学习数据传送和算数运算指令的用法。
二、实验内容:将两个多位十进制数28056,47193相加,并显示加数,被加数,和。
要求两个加数均以ASCⅡ码形式各自顺序存放在DATA1和DATA2内存单元中,结果送回DATA1处(低位在前,高位在后)。
三、实验程序流程图:四、实验程序列表:SHOW MACRO BMOV DL, BMOV AH, 02HINT 21HENDMDATA SEGMENTDATA1 DB 33H,39H,31H,37H,34HDATA2 DB 36H,35H,30H,38H,32HDATA3 DB'-',0DH,0AH,'$'DATA ENDSSTACK SEGMENT STACKSTA DB 20 DUP (?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX, TOPMOV SP,AXMOV SI,OFFSET DATA2MOV BX,05SHOW 20HCALL DISPLSHOW 0DHSHOW 0AHMOV SI,OFFSET DATA1MOV BX,05SHOW 2BhCALL DISPLSHOW 0DHSHOW 0AHMOV CL,7S1: SHOW 2DHLOOP S1SHOW 0DHSHOW 0AHMOV SI,OFFSET DATA1MOV DI,OFFSET DATA2 CALL ADDAMOV SI,OFFSET DATA1MOV BX,05SHOW 20HCALL DISPLMOV AX,4C00HINT 21HDISPL PROC NEARDS1: SHOW [SI+BX-1]DEC BXJNZ DS1RETDISPL ENDPADDA PROC NEARMOV DX,SIMOV BP,DIMOV BX,05ADI: SUB BYTE PTR [SI+BX-1],30H SUB BYTE PTR [DI+BX-1],30HDEC BXJNZ ADIMOV SI,DXMOV DI,BPMOV CX,05CLCAD2: MOV AL,[SI]MOV BL,[DI]ADC AL,BLAAAMOV [SI],ALINC SIINC DILOOP AD2MOV SI,DXMOV DI,BpMOV BX,05AD3: ADD BYTE PTR [SI+BX-1],30HADD BYTE PTR [DI+BX-1],30HDEC BXJNZ AD3RETADDA ENDPCODE ENDSEND START五、实验结果六、实验心得:通过这次实验我学会了数据传送和算数运算指令的用法。
本科实验报告
课程名称:计算数值方法
实验地点:综合楼五层506室
专业班级:计科1002 学号:2010001414 学生:xxx
指导教师:王峥
2012 年 6 月20
理工大学学生实验报告
2,)
迭代法:
分析讨论:
使用不同的方法,可以不同程度的求得方程的解,不同的方法速度不同,求得的结果也稍有区别,当然和要求精度也有关系。
刚开始的时候用数组对二分法进行求解,发现循环到第二次就无法实现值的传递,于是换了另外一种方法代替了数组。
理工大学学生实验报告
A[i][i]=A[i][i]-A[i][i-1]*A[i-1][i];
b[0]=b[0]/A[0][0];
for(i=1;i<3;i++)
b[i]=(b[i]-A[i][i-1]*b[i-1])/A[i][i];
for(i=1;i>=0;i--)
b[i]=b[i]-A[i][i+1]*b[i+1];
for(i=0;i<3;i++)
printf("x[%d]=%.6lf\n",i,d[i]);
}
六、结果讨论和分析
Gauss消元法:列主元素消元法:
LU分解法:追赶法:
分析讨论
从消元过程可以看出,对于n阶线性方程组,只要各步主元素不为零,经过n-1步消元,就可以得到一个等价的系数矩阵为上三角形阵的方程组,然后再利用回代过程可求得原方程组的解. 由于列主元素法相似且优于完全主元素法所以省略了后者。
消元过程相当于分解A为单位下三角阵L与上三角阵U的乘积,解方程组Ly=b回代过程就是解方程组Ux=y。
其中的L为n阶单位下三角阵、U为上三角阵. 在A 的LU 分解中, L取下三角
理工大学学生实验报告
x2[0]=x20;
x3[0]=x30;
x1[i+1]=0.1*x2[i]+0.2*x3[i]+0.72;
x2[i+1]=0.1*x1[i]+0.2*x3[i]+0.83;
x3[i+1]=0.2*x1[i]+0.2*x2[i]+0.84;
printf("%5d %5lf %5lf %5lf\n",i,x1[i],x2[i],x3[i]);
} }
六、实验结果与分析:
雅克比迭代法:
理工大学学生实验报告
理工大学学生实验报告
理工大学学生实验报告
}
六、结果讨论和分析
分析讨论
数据拟合的具体作法是:对给定的数据(x i ,y i)(i=0,1,…,m),在取定的函数类中,求p(x)属于此函数类,使误差r i=p(x i)- y i(i=0,1,…,m)的平方和最小,即∑r i2=∑(∑p(x i)-y i)2=min从几何意义上讲,就是寻求与给定点(x i ,y i)(i=0,1,…,m)的距离平方和为最小的曲线y=p(x)。
说明:上述程序中数据已被事先存入,可在源代码中任意修改想要的数据。