湖南大学实验报告
湖南大学生物信息学实验报告-W10
实验4 多重序列比对及系统发生树的构建1基本信息:姓名:程瑶学号:201378020205班级:医学1301 实验日期:2016-05-032实验目的和要求:1)掌握使用Clustalx进行序列多重比对的操作方法;2)熟悉构建分子系统发生树的基本过程,掌握使用MEGA软件构建系统发生树的操作方法;3)进一步熟练BLAST的使用3实验仪器、设备与材料:计算机(联网)4实验原理:在现代分子进化研究中,根据现有生物基因或物种多样性来重建生物的进化史是一个非常重要的问题。
一个可靠的系统发生的推断,将揭示出有关生物进化过程的顺序,有助于我们了解生物进化的历史和进化机制。
对于一个完整的进化树分析需要以下几个步骤:⑴要对所分析的多条目标序列进行比对;⑵要构建一个进化树(phyligenetic tree);⑶对进化树进行评估。
在实际应用中,多序列比对常用的软件包括ClustalW/X, MUSCLE, MAFFT等,三者的准确性相当,但计算时间依次减少;进化树构建常用的软件包括PHYLIP(软件包,包括多种建树方法),MEGA,MrBayes,Phyml等等。
从用户友好性和功能上来说,MEGA是目前用得最多的进化树构建和分析软件。
本课程将学习如何使用ClustalX和MEGA分别做多序列比对和进化树构建。
5实验步骤:1)使用CLUSTALX软件对已知八条DNA序列(如下)进行多重序列比对;M._mulatta AGCTTTCT GGCGCAACCA TCCTATGAT TGCTCACGGA CTCACCTCTTM._fascicu AAGCTTCTCC GGCGCAACCA CCTATAAT CGCCCGGG CTCACCTCTTM._sylvanu AAGCTTCTCC GGTGCAACTA TCCTAGT TGCCATGGA CTCACCTCTTHomo_sapie AATTCACC GGCGCAGTCA TTCATAAT CGCCCACGGG CTTACATCCTGorilla AATTCACC GGCGCAGTTG TTCTTATAAT TGCCCACGGA CTTACATCATPongo AATCACC GGCGCAACCA CCCTCATGAT TGCCATGGA CTCACATCCTSaimiri_sc AAGCTTCC GGCGCAATGA TCCTAATAAT CGCTCACGGG TTTACTTCGTLemur_catt AAGCTTTA GGAGCAACCA TTCTAATAAT CGCACATGGC CTTACATCAT2)使用MEGA软件构建上述DNA分子系统发生树。
三态门、oc门实验报告 湖南大学数字逻辑
实验二三态门,OC门的设计与仿真一、实验目的熟悉三态门、OC门的原理,用逻辑图和VHDL语言设计三态门、OC门,并仿真。
二、实验内容1.用逻辑图和VHDL语言设计三态门,三态门的使能端对低电平有效。
2.用逻辑图和VHDL语言设计一个OC门(集电极开路门)。
三、实验原理1.三态门,又名三态缓冲器(Tri-State Buffer)用途:用在总线传输上,有效而又灵活地控制多组数据在总线上通行,起着交通信号灯的作用。
功能:三态逻辑输出三种不同的状态,其中两种状态常见的逻辑1和逻辑0,第三个状态高阻值,称为高阻态,用Hi-Z或者Z或z表示三态缓冲器比普通缓冲器多了一个使能输入EN,即连接到缓冲器符号底部的信号。
从真值表可以看出,如果是EN=1.则OUT等于IN,就像普通缓冲器一样。
但是当EN=0时,无论输入的值什么,输出结果为高阻态(Hi-Z)。
逻辑图真值表EN A OUT0 0 Hi-Z0 1 Hi-Z1 0 01 1 1波形图2.OC门,又名集电极开路门(opndrn)用途:集电极开路门(OC门)是一种用途广泛的门电路。
典型应用是可以实现线与的功能。
逻辑图真值表A B0 01 Hi-Z波形图四、实验方法与步骤实验方法:采用基于FPGA进行数字逻辑电路设计的方法。
采用的软件工具是QuartusII软件仿真平台,采用的硬件平台是Altera EPF10K20TI144_4的FPGA试验箱。
实验步骤:1、编写源代码。
打开QuartusⅡ软件平台,点击File中得New建立一个文件。
编写的文件名与实体名一致,点击File/Save as以“.vhd”为扩展名存盘文件。
VHDL 设计源代码如下:三态门:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_s ISPORT (enable,datain:IN STD_LOGIC;dataout:OUT STD_LOGIC);END tri_s;ARCHITECTURE bhv OF tri_s ISBEGINPROCESS (enable,datain)BEGINIF enable='1' THEN dataout<=datain;ELSE dataout<='Z';END IF;END PROCESS;END bhv;OC门:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY oc ISPORT(datain:IN STD_LOGIC;dataout:OUT STD_LOGIC);END oc;ARCHITECTURE bhv OF oc ISBEGINPROCESS (datain)BEGINIF (datain='0') THEN dataout<='0';ELSE dataout<='Z';END IF;END PROCESS;END bhv;2、按照实验箱上FPGA的芯片名更改编程芯片的设置。
湖南大学实验报告6
课程实验报告课程名称:电子实验实验项目名称:晶体管两极放大器专业班级:物联1301班姓名:学号:晶体管两极放大器一、实验目的:1、掌握两级阻容放大器的静态分析和动态分析方法。
2、加深理解放大电路各项性能指标。
二、实验仪器和元器件:1、双踪示波器2、万用表3、信号发生器三、实验原理:实验电路图:(a )1、阻容耦合因有隔直作用,故各级静态工作点互相独立,只要按实验五分析方法,一级一级地计算就可以了。
2、两级放大电路的动态分析 1)中频电压放大倍数的估算Au = A1 * A2 单管基本共射电路电压放大倍数的公式如下: 单管共射要特别注意的是,公式中的不仅是本级电路输出端的等效电阻,还应包含下级电路等效至输入端的电阻,即前一级输出端往后看总的等效电阻。
2)输入电阻的估算两级放大电路的输入电阻一般来说就是输入级电路的输入电阻,即: Ri ≈Ri1 3)输出电阻的估算两级放大电路的输出电阻一般来说就是输出级电路的输出电阻,即: Ro ≈Ro2 3、两级放大电路的频率响应 1)幅频特性已知两级放大电路总的电压放大倍数是各级放大电路放大倍数的乘积,则其对数幅频特性便是各级对数幅频特性之和,即:||lg 20||lg 20||lg 2021μμμA A A+=2)相频特性两级放大电路总的相位为各级放大电路相位移之和,即四、实验内容:a. 测量静态工作点1、实验原理图中,跳线J3、J5、J8、J9连接,J4、J6、J7、J10断开。
2、输入正弦信号Ui ,测量第一级静态工作点。
然后关闭信号发生器,使Ui 为0,调节RW2电位器使第二级的IC2=1.0mA (即UR7=3V ),用万用表分别测量第一级、第二级的静态工作点,记入表格中。
Re=1.073k Ω Rc 均=3k Ω Vpp=72mV Vcc=12V f=1kHz I C= V E/Reb. 测试两级放大器的各项性能指标 1、关闭系统电源,连接信号源与Vi 。
湖南大学生物信息学实验报告-W8
实验1 DNA Blast(利用DNA数据库上提供的Blast功能)1基本信息:姓名:程瑶学号:201378020205班级:医学1301 实验日期:2016-04-192实验目的和要求:1)掌握BLAST的原理;2)了解如何利用Genbank数据库中提供的Blast功能完成同源性检索3实验仪器、设备与材料:计算机(联网)4实验原理:BLAST是一个NCBI开发的序列相似搜索程序,还可作为鉴别基因和遗传特点的手段。
BLAST能够在小于15秒的时间内对整个DNA数据库执行序列搜索。
BLAST(Basic local alignment search tool),中文意思为基本的基于局部对准的搜索工具,是一种快速查找与靶序列具有连续相同片段的序列的技术。
5实验步骤:1)进入NCBI主页(/),点击BLAST按钮,进入了BLAST HOME界面。
A、选择blastn,在Enter Query Sequence 输入FASTA格式的序列,以枯草芽孢杆菌的葡萄糖-1-脱氢酶为例。
在choose search set栏中的Database中选择“others”,注意此处的program selection选择Highly similar sequences (megablast),再点击“BLAST”按钮,需要一定的反应时间,结果可以看到有很多非常相似的序列,打开匹配度较高的序列,查看来源、功能等。
改变下面几个参数(每次只能变化一个参数),看输出结果中打分最高的10条序列是否会发生变;B:进入blastp,在Enter Query Sequence 输入FASTA格式的序列。
在choose search set栏中的Database中选择“others”,注意此处的program selection选择Highlysimilar sequences (megablast),再点击“BLAST”按钮,需要一定的反应时间,结果可以看到有很多非常相似的序列,打开匹配度较高的序列,查看来源、功能等。
湖南大学液态成型实验报告
实验报告工程材料液态成型实验报告学院:土木工程学院 专业: 姓名: 学号: 实验时间:一、实验目的和要求1.了解铸造工艺的基本过程。
2.通过具体的熔炼浇注工艺,了解基本概念,工艺特点,以用在日常生活中的具体应用。
3.了解一种金属材料(A356铝合金)的熔炼基本工序。
二、实验原理铸造过程是指将金属置于熔炼炉内的坩埚中, 加热熔炼成符合一定要求的液体并浇铸到锭模或铸模中,经冷却凝固, 液态金属转变成固态金属, 清整处理后获得一定形状、尺寸的铸件或铸件的工艺过程。
铸造工艺可分为三个基本部分,即铸造金属准备、铸型准备和铸件处理。
铸造种类很多,按造型方法习惯上分为:①普通砂型铸造, ②特种铸造. 根据熔制合金的实际重量W ,计算各元素的需要量AA =100W×Q三、仪器设备实验所用设备包括:加热熔炼炉, 熔炼用金属, 坩埚, 熔炼工具,模具四、实验内容及实验数据记录1.了解铸造的基本设备并熟悉其基本操作答:1.压块机:用以将铸造用物料压块的设备。
物料压块后便于储运及减少回收再利用过程中运输、冶炼的损耗。
2.混砂机:用于混制型砂或芯砂的铸造设备。
混砂机一般具有下列功能:将旧砂﹑新砂﹑型砂黏结剂和辅料混合均匀。
3.落砂机:利用振动和冲击使铸型中的型砂和铸件分离的铸造设备。
落砂机的振动源分为机械﹑电磁和气动。
4.抛丸机:利用抛丸器抛出的高速弹丸清理或强化铸件表面的铸造设备。
抛丸机能同时对铸件进行落砂﹑除芯和清理。
5.造芯机:用于制造型芯的铸造设备。
根据制芯时实砂方法的不同,造芯机可分为震击式制芯机﹑挤芯机和射芯机等。
6.造型机:用于制造砂型的铸造设备。
它的主要功能是:填砂,将松散的型砂填入砂箱中,紧实型砂。
7.浇注机:为将液态金属引入铸型型腔而在铸型内开设的信道。
包括:浇口杯,直浇道,横浇道,内浇道。
2、配料熔炼A356铝合金20Kg,A356化学成分: Si 6.5~7.5%,Mg0.20~0.40%;铝为余量,计算各元素Al,Mg,Si的需要量。
湖南大学电子实验报告8
课程名称:电子实验实验项目名称:差动放大电路专业班级:物联1301班姓名:学号:晶体管两极放大器一、实验目的:1. 掌握基本差动放大器的工作原理、工作点的调试和主要性能指标的测试。
2. 熟悉恒流源差动放大器的工作原理及主要性能指标的测试。
二、实验仪器和元器件:1、双踪示波器2、万用表3、信号发生器4、模拟电路试验箱三、实验原理:实验电路图:(a)1.静态工作点的估算典型电路2.恒流源电路3.差模电压放大倍数和共模电压放大倍数当差动放大器的射极电阻RE足够大,或采用恒流源电路时,差模电压放大倍数Aud由输出端方式决定,而与输入方式无关。
双端输出:RE=∞,RP在中心位置时,单端输出:当输入共模信号时,若为单端输出,则有:若为双端输出,在理想情况下:实际上由于元件不可能完全对称,因此Auc也不会绝对等于零。
4.共模抑制比KCMR为了表征差动放大器对有用信号(差模信号)的放大作用和对共模信号的抑制能力,通常用一个综合指标来衡量,即共模抑制比差动放大器的输入信号可采用直流信号也可采用交流信号。
四、实验内容及结果:1.测量静态工作点(J1断,J2开)(1)调节放大器零点接通±12V直流电源,在Vi1和Vi2同时接地的情况下,用万用表测量Uo1和Uo2之间的电压Uo,调节调零电位器RW1,使Uo=0,即Uo1= Uo2。
(2)测量静态工作点零点调好以后,用万用表测量T1、T2管各极电位,并计算IC(mA)、IB(mA)、UCE(V),记入表格中。
并与理论值进行比较。
数据记录:Re=0.483KΩ测量值UC1(V) UB1(V) UE1(V) UC2(V) UB2(V) UE2(V) URE(V)6.42 -0.04 -0.63 6.41 -0.04 -0.63 0计算值IC(mA) IB(mA) UCE(V)1.304 0 7.05分析与结论:由测得的数据知,T1管和T2管在输入共地的时候的C、B、E级的参数一致,且UB=0与理论值相等。
湖南大学生物信息学实验报告-W9
实验3 核酸序列分析1基本信息:姓名:程瑶学号:201378020205班级:医学1301 实验日期:2016-04-262实验目的和要求:1)掌握已知或未知序列接受号的核酸序列检索的基本步骤;2)掌握如何获取某个基因的序列,结构和功能信息;3)掌握使用BioEdit软件进行核酸序列的基本分析3实验仪器、设备与材料:计算机(联网)4实验原理:基因是具有遗传效应的DNA片段,其结构包括调控区域与编码区。
前者又包括转录调控和翻译调控,后者包括外显子与内含子。
5实验步骤:1 进入NCBI官方网站/,在Search处选择Gene数据库,在输入框输入”homo sapiens leptin”,查找人leptin的基因(提示:ID:3952),点击进入该基因;2 了解该页面包括哪些方面的信息;特别关注以下信息:基因名字,物种,功能描述,在基因组的位置,基因结构等A:3 在“Genomic regions, transcripts, and products"部分,点击GenBank进入对于该基因的编码结构的描述,查看其以下信息:1)该基因编码的mRNA有多少?各个mRNA之间是否有差异?A:2个。
a : 1-105 ; 10790-10961 ; 13206-16427 ;product="leptin, transcript variant X1"(瘦素,转录变异体X1)b:77-105 ; 10790-10961 ; 13203-16428 ;product="leptin"(瘦素)2)该基因的CDS有多少?CDS之间是否有差异?A:2个。
a: 10818-10961 ; 13203-13562 ;product="leptin precursor"(瘦素前体);c: 10818-10961 ; 13206-13562 ;product="leptin isoform X1"(瘦素蛋白 X1)3)下载所有的mRNA与CDS的FASTA格式的序列A:略4)下载该基因的FASTA格式的序列A:略4 分别比较leptin的mRNA序列与其外显子序列,mRNA序列与基因序列,以及外显子与基因序列。
湖南大学微电子实验报告4
实验四Verilog基础与modelsim仿真平台一、实验目的1、掌握Verilog语法;2、掌握数字电路的仿真验证方法;2、掌握数字电路仿真平台Modelsim;二、实验内容及要求1、分别使用always语句和assign语句描述与、或、非电路并测试;2、描述检测序列“11001101”的电路并测试。
三、实验原理1. 与门与门是实现逻辑“乘”运算的电路,有两个以上输入端,一个输出端。
只有当所有输入端都是高电平(逻辑“1”)时,该电路输出才是高电平(逻辑“1”),否则输出为低电平(逻辑“0”)。
其二输入与门的数学逻辑表达式:Y = AB2. 或门或门是实现逻辑加的电路,又称逻辑和电路,简称或门。
此电路有两个以上输入端,一个输出端。
只要有一个或几个输入端是“1”,或门的输出即为“1”。
而只有所有输入端为“0”时,输出才为“0”。
或门的数学逻辑表达式为:Y=A+B3. 非门实现逻辑代数非的功能,即输出始终和输入保持相反。
当输入端为高电平(逻辑“1”)时,输出端为低电平(逻辑“0”);反之,当输入端为低电平(逻辑“0”)时,输出端则为高电平(逻辑“1”)。
非门的数学逻辑表达式为:F=A’4. 序列检测器序列检测器是可用来检测一组或多组由二进制编码组成的脉冲序列信号。
当序列检测器连续收到一组穿行的二进制代码后如果这组码与序列检测器中预先设置的码相同则输出为1,否则输出为0。
由于这种检测的关键在于正确码收到必须是连续的这就要求检测器必须记住当前一次的真确码及正确序列,直到连续的检测中所收到的每一位码都与预先设置的数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
四、实验方法与步骤实验方法:硬件:联想Y50计算机软件:操作系统:windows 7应用软件:Modelsim实验步骤:1、打开Modelsim软件,点击File->New->Project,新建一工程。
2、在Create Project对话框中输入工程名、工程路径以及缺省库名(一般库名work不用改)。
湖南大学毕业实习报告
湖南大学毕业实习报告湖南大学毕业实习报告对于任何一位大学生来说,毕业实习是一个很关键的学习内容,也是一个很好的锻炼机会。
实习也是我们毕业前的一次综合性实习。
为帮助大家学习方便,收集整理了湖南大学毕业实习报告5篇,希望可以帮助您,欢迎借鉴学习!湖南大学毕业实习报告1时间飞逝,还有半年就要告别大学生活了,即将踏入社会。
我们知道随着中国在国际贸易中地位的不断上升,以及在我国加入世界贸易组织和全球化进一步发展的新形势下,对于我们国贸专业的学生们来说,或对于作为将来从事国际贸易方面业务的我们来说,去外贸公司实习对我们来说非常重要。
这次我有了一个很好的机会就是去外贸公司进行实习。
短短的实习期已经结束,静下心来回想这次实习真是感受颇深。
我们知道实习是大学教育中一个极为重要的实践性环节,通过实习,可以使我们在实践中接触与本专业相关的一些实际工作,培养和锻炼我们综合运用所学的基础理论、基本技能和专业知识,去独立分析和解决实际问题的能力,把理论和实践结合起来,提高我们的实际动手能力,为将来我们毕业后走上工作岗位打下一定的基础。
通过这段时间的学习,从无知到认知,到深入了解,渐渐地我喜欢上这个专业,让我深刻的体会到学习的过程是最美的,在整个实习过程中,我每天都有很多的新的体会,新的想法。
回顾我的实习生活,感触是很深的,收获也是丰硕的。
这次的实习,主要是与非洲、中东、印度等地方的外国商人做生意,他们在我公司下订单,我们再把订单下到厂里,从中赚取差额。
这次的实习经历我对外贸这个专业有了更加理性的认识和更深刻的体会。
通过这次的实习,我由第一天的拘谨,对什么事情都充满着好奇,转而逐渐适应了这样的生活,做事情按部就班,循序渐进。
这次的实习,让我懂得了许多,知道了许多,大学文凭其实只是一块敲门砖。
进入工作单位后,大家都是从头开始,凡事都要自己去摸索,没有人会手把手教你。
所以,我们有必要培养主动学习能力和创新能力,必须努力提高自身的综合素质,适应时代的需要。
湖南大学电子线路实验报告
实验一、实验二一、实验要求(1)建立单管共发射极放大电路。
(2)分析共发射极放大电路放大性能。
(3)分析共发射极放大电路频率特性。
(4)分析共发射极放大电路静态工作点。
二、实验内容实验内容一:用Ni Multisim软件验证习题2.14,2.15,分析实验结果。
实验内容二:(1)建立单管共发射极放大电路实验电路,如图1-1所示。
NPN型晶体管(QNL电流放大系数为80,基极体电阻为100Ω,发射结电容为3pF,集电结电容为2pF。
用信号发生器产生频率为lkHz、幅值为5mV的正弦交流小信号作为输入信号。
示波器分别接到输入波形和输出端观察波形。
(2)打开仿真开关,双击示波器,进行适当调节后,用示波器观察输入波形和输出波形。
注意输出波形与输入波形的相位关系。
并测量输入波形和输出波形的幅值,计算放大电路的电压放大倍数。
(3)建立共发射极放大电路静态工作点测量电路。
如图1-2所示。
利用直流电压表和电流表测量集电极电压、电流以及基极电流。
判断晶体管是否工作在放大区。
(4)如果将基极电阻由580kΩ改变为400kΩ,再测量各项电压、电流,判断晶体管是否工作在放大区。
然后将图1—1中基极电阻Rb由580kΩ改变为400kΩ,再用示波器观察放大电路的输入波形和输出波形,观察输出波形发生什么样的变化,属于什么类型的失真。
三、实验电路原理图四、实验结果及分析2-14电路图一:要求集电极电压V0=(5~7)V,通过计算可知,R1的电阻值在(2.5~3.5)千欧,R2的电阻值为5.65千欧。
设置R1的电阻值为2.5千欧,R2的电阻值为5.65千欧,测出的VO 为7V。
电路图二:将器件改为PNP管,要求电压数值不变,保证集电极电压|VO|、电流IC不变,通过计算可知,R1的电阻值为5.65千欧,R2的电阻值在(2.5~3.5)千欧。
设置R1的电阻为5.65千欧,R2电阻值为3.5千欧,测出的VO为-5.054V。
2-15电路图一:通过计算可知,VCE为3.35V,实际VCE为3.366。
大学物理实验报告答案大全(湖南大学必备)
大学物理实验报告答案大全(湖南大学必备)大学物理实验报告答案大全(湖南大学学子必备)伏安法测电阻实验方法原理根据欧姆定律, R实验目的 (1) 利用伏安法测电阻。
(2) 验证欧姆定律。
(3) 学会间接测量量不确定度的计算;进一步掌握有效数字的概念。
=U,如测得 U 和 I 则可计算出 R。
值得注意的是,本实验待测电阻有两只, I一个阻值相对较大,一个较小,因此测量时必须采用安培表内接和外接两个方式,以减小测量误差。
实验装置待测电阻两只,0~5mA 电流表 1 只,0-5V 电压表 1 只,0~50mA 电流表 1 只,0~10V 电压表一只,滑线变阻器 1 只,DF1730SB3A 稳压源 1 台。
实验步骤本实验为简单设计性实验,实验线路、数据记录表格和具体实验步骤应由学生自行设计。
必要时,可提示学生参照第 2 章中的第 2.4 一节的有关内容。
分压电路是必须要使用的,并作具体提示。
(1) 根据相应的电路图对电阻进行测量,记录 U 值和 I 值。
对每一个电阻测量 3 次。
(2) 计算各次测量结果。
如多次测量值相差不大,可取其平均值作为测量结果。
(3) 如果同一电阻多次测量结果相差很大,应分析原因并重新测量。
数据处理测量次数 U1 /V I1 /mA R1 / ? 测量次数 U2 /V I2 /mA R2 /?(1) 由 ?U (2) 由 ?I1 5.4 2.00 2700 1 2.08 38.0 54.72 6.9 2.60 2654 2 2.22 42.0 52.93 8.5 3.20 2656 3 2.50 47.0 53.2 ;= U max × 1.5% ,得到?U 1 = 0.15V , ?U 2 = 0.075V = I max × 1.5% ,得到 ?I1 = 0.075mA, ?I 2 = 0.75mA ;?U 2?I 2) +() 3V3I(3) 再由 u R =R (101 ?, u R 2 = 1? ;,求得u R 1 = 9 ×(4) 结果表示 R1= (2.92 ± 0.09) × 10 3 ?, R2 = (44 ± 1)?光栅衍射实验目的(1) 了解分光计的原理和构造。
湖南大学测控技术与仪器《虚拟仪器》实验报告1-6
虚拟仪器实验报告实验一VI程序的创建、编辑和调试1.熟悉LabVIEW环境。
新建一个VI,进行如下练习:•任意放置几个控件在前面板,改变它们的位置、名称、大小、颜色等等。
•在VI前面板和后面板之间进行切换•并排排列前面板和后面板窗口程序截图:2.创建一个VI。
发生一个值为0.0~1.0的随机数a,放大10倍后与某一常数b比较,若a>b,则指示灯亮。
要求:①编程实现;②单步调试程序;③应用探针观察各数据流。
程序截图:3.创建和调用子VI。
创建一个子VI,子VI功能:输入3个参数后,求其和,再开方。
编一个VI调用上述子VI。
程序截图:4.编写一个VI求三个数的平均值。
要求:•对三个输入控件等间隔并右对齐。
•添加注释。
•分别用普通方式和高亮方式运行程序,体会数据流向。
•单步执行一遍。
程序截图:5.实验个人总结:通过这四个小实验使我熟悉了LabView的开发环境,基本掌握了编程的方法和规律,同时通过LabView的编程来解以上的一些简单的问题让我切身感觉到了这款软件的强大之处,而且其使用的是图形化的编程,学起来不像C语言,Matlab那样需要记忆很多的程序代码,入门门槛相对来说就降低了许多。
但是作为新手来说,对于这款软件有很多不熟悉的地方,例如当自己编程是会遇到一些自己没有用过的函数和程序模块,而要在拥有庞大的函数和程序模块的LabView中寻找自己想要的同时又不常用的函数或者程序模块是件耗时又费力的事,但是通过使用的深入,我发现可以用程序面板右上角处的搜索框来搜索我们想要的函数或者程序模块,这样就可以为我们编程节省很多时间,减少记忆的繁琐。
虽然有时可以有捷径可走,但是总之想很好的学好这款程序必须多操作,多动手,这样才能做到熟能生巧,游刃有余。
虚拟仪器实验报告实验二数据操作1、写一个VI判断两个数的大小,如右图所示:当A>B时,指示灯亮。
程序截图:2. 写一个VI获取当前系统时间,并将其转换为字符串和浮点数。
湖南大学操作系统实验报告-(1)
实验一中断处理实验报告一、实习内容模拟中断事件的处理。
二、实习目的现代计算机系统的硬件部分都设有中断机构,它是实现多道程序设计的基础。
中断机构能发现中断事件,且当发现中断事件后迫使正在处理器上执行的进程暂时停止执行,而让操作系统的中断处理程序占有处理器去处理出现的中断事件。
对不同的中断事件,由于它们的性质不同,所以操作系统应采用不同的处理。
通过实习了解中断及中断处理程序的作用。
本实习模拟“时钟中断事件”的处理,对其它中断事件的模拟处理,可根据各中断事件的性质确定处理原则,制定算法,然后依照本实习,自行设计。
三、实习题目模拟时钟中断的产生及设计一个对时钟中断事件进行处理的模拟程序。
[提示]:(1) 计算机系统工作过程中,若出现中断事件,硬件就把它记录在中断寄存器中。
中断寄存器的每一位可与一个中断事件对应,当出现某中断事件后,对应的中断寄存器的某一位就被置成1。
处理器每执行一条指令后,必须查中断寄存器,当中断寄存器内容不为0时,说明有中断事件发生。
硬件把中断寄存器内容以及现行程序的断点存在主存的固定单元,且让操作系统的中断处理程序占用处理器来处理出现的中断事件。
操作系统分析保存在主存固定单元中的中断寄存器内容就可知道出现的中断事件的性质,从而作出相应的处理。
本实习中,用从键盘读入信息来模拟中断寄存器的作用,用计数器加 1 来模拟处理器执行了一条指令。
每模拟一条指令执行后,从键盘读入信息且分析,当读入信息=0 时,表示无中断事件发生,继续执行指令;当读入信息=1 时,表示发生了时钟中断事件,转时钟中断处理程序。
(2)假定计算机系统有一时钟,它按电源频率(50Hz)产生中断请求信号,即每隔20毫秒产生一次中断请求信号,称时钟中断信号,时钟中断的间隔时间(20 毫秒)称时钟单位。
学生可按自己确定的频率在键盘上键入0或1来模拟按电源频率产生的时钟中断信号。
(3) 中断处理程序应首先保护被中断的现行进程的现场(通用寄存器内容、断点等)现场信息可保存在进程控制块中;然后处理出现的中断事件,根据处理结果修改被中断进程的状态;最后转向处理器调度,由处理器调度选择可运行的进程,恢复现场使其运行。
湖南大学数据结构实验
HUNAN UNIVERSITY数据结构实验报告题目:实验5四则运算表达式求值学生姓名谢毅学生姓名冯吉禹学生姓名吕志远学生学号20110806109学生学号20110806110学生学号20110806114专业班级信息安全1101班指导老师夏艳完成日期2013 年04 月 19日一.需求分析1、利用二叉树后序遍历来实现表达式的转换,同时可以使用实验3的结果来求解后缀表达式的值。
2、输入输出格式:输入:在字符界面上输入一个中缀表达式,回车表示结束。
输出:如果该中缀表达式正确,那么在字符界面上输出其后缀表达式,其中后缀表达式中两相邻操作数之间利用空格隔开;如果不正确,在字符界面上输出表达式错误提示。
输入:21+23*(12-6)输出:21 23 12 6 -*+一.概要设计抽象数据类型1.使用二叉树来实现2.本程序包含四个基本模块①主程序模块:建树的过程②没有括号时的输入③有括号时的输入○4后序输出三﹑算法(C++)物理数据类型建树的时候对于优先级比较高的符号最为子结点插入,对于优先级比较低的则作为父结点插入,数据直接插入在字符的左右子结点位置。
/*问题描述四则运算表达式求值,将四则运算表达式用中缀表达式,然后转换为后缀表达式,并计算结果。
基本要求使用二叉树来实现。
实现提示利用二叉树后序遍历来实现表达式的转换,同时可以使用实验3的结果来求解后缀表达式的值。
输入输出格式:输入:在字符界面上输入一个中缀表达式,回车表示结束。
输出:如果该中缀表达式正确,那么在字符界面上输出其后缀表达式,其中后缀表达式中两相邻操作数之间利用空格隔开;如果不正确,在字符界面上输出表达式错误提示。
*/#include<iostream.h>#include <stdio.h>/*二叉树的节点类*/class Node{public:int num;//元素char c;//操作符Node* lc;//左指针Node* rc;//右指针Node* pa;//父指针Node(int num,Node* lc=NULL,Node* rc=NULL){this->num=num;this->lc=lc;this->rc=rc;}Node(char c,Node* lc=NULL,Node* rc=NULL){this->c=c;this->lc=lc;this->rc=rc;}bool isLeaf(){return (lc==NULL)&&(rc==NULL);}};void Nomal(char &t,char &c,Node* &one,Node* &two);//正常输入void UNomal(char &t,char &c,Node* &one,Node* &two);//带括号输入void BHVisit(Node* root);/*二叉树类*/class TwoTree{private:Node* root;//根节点Node* present;//当前表达式节点public:TwoTree(){root=NULL;present=root;}Node* getroot(){return root;}bool gt(Node* two,Node* present)//比较优先级的函数{char ct=two->c;char cp=present->c;if(ct=='*'||ct=='/')if(cp=='+'||cp=='-')return true;return false;}void insert(Node* one,Node* two=NULL)//向插入的方法{cout<<" 要插入了 "<<one->num<<" "<<two->c<<endl;if(root==NULL){root=two;root->lc=one;one->pa=root;present=root;return;}if(two->c=='\n'){present->rc=one;one->pa=present;return;}if(gt(two,present))//如果输入的操作符的优先等级大于当前指针的优先级{two->lc=one;one->pa=two;present->rc=two;two->pa=present;present=two;return;}present->rc=one;while(!gt(two,present)&&present!=root)//如果输入的操作符的优先等级不大于当前指针的优先级{present=present->pa;//指向父节点}if(gt(two,present))//如果输入的操作符的优先等级大于当前指针的优先级{two->lc=present->rc;present->rc->pa=two;present->rc=two;two->pa=present;present=two;return;}else{two->lc=present;present->pa=two;root=two;present=two;}}};void main(){TwoTree tt;Node* root;Node* one;Node* two;char c,t;int index=0;cout<<"请输入一个中缀表达式"<<endl;while(1){t=getchar();cout<<t<<endl;if(t!='(')Nomal(t,c,one,two);elseUNomal(t,c,one,two);tt.insert(one,two);if(c=='\n')break;}root=tt.getroot();BHVisit(root);return;}void Nomal(char &t,char &c,Node* &one,Node* &two) {int num;num=t-'0';cout<<num<<"--------"<<endl;c=getchar();one=new Node(num);two=new Node(c);}void UNomal(char &t,char &c,Node* &one,Node* &two) {int num;TwoTree ttp;while(1){t=getchar();num=t-'0';cout<<num<<"+++++++++++"<<t<<endl;c=getchar();if(c==')'){char cp='\n';c=getchar();one=new Node(num);two=new Node(cp);ttp.insert(one,two);break;}one=new Node(num);two=new Node(c);ttp.insert(one,two);}one=ttp.getroot();two=new Node(c);}void BHVisit(Node* root)//后序遍历函数{if(root==NULL)return;BHVisit(root->lc);BHVisit(root->rc);if(root->isLeaf())cout<<root->num<<" ";elsecout<<root->c<<" ";}六.算法的时间复杂度:整个程序的时间复杂度是O(n).七.实验心得谢毅:本次实验相对上次实验来说难度提升比较大,刚开始的时候觉得无从下手,后来翻阅了书上的关于树的内容,并且和同学们经过了讨论,终于想出了这次实验的建树方式。
湖南大学-脑与认知科学概论-实验2实验报告
fspecial函数用于创建预定义的滤波算子,其语法格式为:
h = fspecial(type)
h = fspecial(type,parameters)
参数type制定算子类型,parerage',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。
K4=filter2(fspecial('average',9),I);%进行9*9均值滤波
subplot(235),imshow(K4),title('9*9均值滤波')
K5=filter2(fspecial('average',11),I);%进行11*11均值滤波
subplot(236),imshow(K5),title('11*11均值滤波')
(1)对静态场景的多幅图片取平均;
(2)空间域模板卷积(不同模板、不同尺寸);
(3)频域低通滤波器(不同滤波器模型、不同截止频率);
(4)中值滤波方法。
2.实验要求
(1)图片可根据需要选取;
(2)对不同方法和同一方法的不同参数的实验结果进行分析和比较,如空间域卷积模板可有高斯型模板、矩形模板、三角形模板和自己根据需求设计的模板等;模板大小可以是3×3,5×5,7×7或更大。频域滤波可采用矩形或巴特沃斯等低通滤波器模型,截止频率也是可选的。
h=1/12*[0 1 1 0;1 1 1 1;1 1 1 1;0 1 1 0]; %定义12邻域平均模板
a=filter2(h,i);
subplot(224);imshow(a);title('12邻域平均模板');
高斯模板:
i=imread('Panda2.jpg'); %读入图像
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HUNAN UNIVERSITYC++学生姓名李国龙学生学号************专业班级计算机科学与技术指导老师杨圣洪2015年12月 30日一、实验原理:运用MFC的知识编写一个系统,实现二进制文件的创建,读取,查询,插入,修改,删除,排序,索引,基于索引的查询等功能。
二、实验目标:掌握MFC的相关知识,学会利用MFC进行文件操作系统的编写。
三、实验设计:1、建立框架利用 MFC Exe 模板建立 MFC 的基础界面,其中第 3 步中不选“ActiveX 控件”,在第 5 步中选择“作为静态的DLL”,其他取默认值,等你熟练后,你再百度或搜狗找办法,定制所你的喜欢的模式。
项目名称为 Lt13DTextFile。
建立菜单:我的文件、我的编辑在“我的文件”下方建:建立文本文件 ID_MENUITEMFILENEW、读取文本文件ID_MENUITEMFILEREAD、查询单条记录ID_MENUITEMQUERYONE、查询多条记录 ID_MENUITEMQUERYM 在“ 我的编辑” 下方建:修改 ID_MENUITEMEDITMODI 、删除ID_MENUITEMEDITDEL 、插入 ID_MENUITEMEDITINSERT 、排序ID_MENUITEMEDITSORT1 、排序 2 ID_MENUITEMEDITSORT2 、索引ID_MENUITEMEDITINDEX、根据索引查询ID_MENUITEMEDITQUERYINDEX。
单击后显示一句话。
先建立菜单系统,为每个菜单项的单击事件写上 MessageBox(NULL,"函数名","测试 ",MB_OK),等将来建立相应对话框后,再进行修改。
由于保存在 LT13DTextFileView.cpp 即 View 文件中,显示对话框的命令为:voidCLt13DTextFileView::OnMenuitemeditqueryindex(){ MessageBox("根据索引文件快速查询","初始代码",MB_OK); } 2、建立数据结构类 StudScore在当前项目中建立 StudScore.h,将 LT12B 中同名文件的内容复制过来。
再新建 StudScore.cpp,当我将 LT12B::StudScore.cpp 代码贴到当前文件中,再编译时出现如下错误:studscore.cpp(248) : fatal error C1010: unexpected end of file while looking for precompiled header directive,百度一下在最前面加上“#include"stdafx.h"”,这是将普通的 DOSAPP 迁移到 MFC 时发生的现象,是正常的!因为不符合 MFC 的规范。
3、建立文件操作类 StudScoreAFile在当前项目中建立 studScoreAFile.h,将 LT12B 中同名文件的内容复制过来。
建立 studScoreAFile.cpp,复制 LT12B 中相关代码,可以要进行修改,加上 include"stdafx.h"后,编译竟然能能通过,不是说 MFC 与 DOSAPP 中 C++的文件读写操作不一样吧?不再是流媒体 ofstream 或 iftream,而是采用 CStdioFile 吗?先试试看。
经实际测试,只需要将以上函数中 stringstream sdata 换成string&sdata0 就可以了,然后在各函数内部建立字符串流stringstream 的输入或输出流,从而在沿用 DOSAPP 的框架基础上稍作修改,得到 MFC 的体系,真是伟大呀!为了测试方便,建立每次只在 studScoreAFile.h 与 studScoreAFile.cpp 中增加一个函数,然后建立其最终操作作界面,相当于 DOSAPP 即 Lt12A 与Lt12B 中主控程序,现在采用了窗体形式。
4、创建文件在 studScoreAFile.h 中增加函数 intcreateFileText(stringfn, string &sdata);将 Lt12B 项目中相应代码,复制到 studScoreAFile.cpp 中,修改成如下形式,主要是送来的数据是 string,在函数局部转换为stringstream 变量(哪些出错的程序,也可以这样处理)还需要在studScoreAFile.cpp 的最前面增加#include"stdafx.h"在DOSAPP 中,数据的输入是通过CMD 窗体中进行,实际是cin>>stud 完成的,在 MFC 中需要创建 7 个控件输入相关数据,再建立一个文件文本框,输入文件名,为了一次性写入多条数据,在右边建立一个多行文本框,在界面的按钮中:确定(保存),取消,保存到下方区域,将来点“保存”时,将多行文本区域的内容以stringstream 的形式,发给 studScoreAFile 中的函数。
5、读取文件的内容在studScoreAFile.h 中增加如下函数:intreadFileText(stringfn,string&sdata);将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据 IDC_EDITFN IDC_EDITRESULT。
6、查询单条记录在studScoreAFile.h 中增加如下函数:intqueryOne(stringfn,stringfieldName,stringfindVal,string&sdata); 将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据IDC_EDITFN IDC_EDITFIELDNAME IDC_EDITFINDVAL IDC_EDITRESULT。
7、查询多条记录在studScoreAFile.h 中增加如下函数:intqueryMulti(stringfn,stringfieldName,stringfindVal,string &sdata); 将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据IDC_EDITFN IDC_EDITFIELDNAMEIDC_EDITFINDVAL IDC_EDITRESULT。
8、修改记录在 studScoreAFile.h 中增加如下函数: int modiMulit(string fn,string fieldName,string findVal, int &n,string modiField,string modiVal); 将Lt12B 中studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据 IDC_EDITFN IDC_EDITFIELDNAME IDC_EDITFINDVAL IDC_EDITN IDC_EDITMODIFIELD IDC_EDITMODIVAL IDC_EDITRESULT。
9、插入记录在studScoreAFile.h 中增加如下函数:intinsertMulti(stringfn,stringfieldName,stringfindVal,string &sdata);将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入数据IDC_EDITFN fieldName,findVal IDC_EDITFIELDNAME IDC_EDITFINDVAL IDC_EDITSTUDNO ,IDC_EDITSTUDNAME ,IDC_EDITCOURSENAME ,IDC_EDITPS1 ,IDC_EDITPS2 , IDC_EDITEXAMEND , IDC_EDITTOTALSCORE ,,IDC_BUTTONSAVEDOWN,IDC_EDITDATAAREA。
10、删除记录在studScoreAFile.h 中增加如下函数:intdelOne(stringfn,stringfieldName,stringfindVal,int&n,string&sdata);将 Lt12B 中 studScoreAFile.cpp 中以上函数代码读过来,稍作修改。
建立输入删除文件名、删除线索值的界面IDC_EDITFN 、IDC_EDITFIELDNAME 、IDC_EDITFINDVAL 、IDC_EDITN 、IDC_EDITRESULT。
11、排序在studScoreAFile.h 中增加如下函数:intsortFile(stringfn,stringfieldName);在 studScoreAFile.cpp 编写以上函数的实现代码。
建立排序数据对话框只需要输入文件名、排序字段名,与显示结果多行区域就可以了IDC_EDITFN fieldName,findVal IDC_EDITFIELDNAME IDC_EDITDATAAREA。
12、索引由于排序过程中困难,可能索引也不会成功,只能对于二进制文件可能成功,对于二进制文件我没时间再编码了,已经在studScoreAFile.cpp 同步对于二进制进行说明,但是没有具体实施,可能有点小问题。
在 studScoreAFile.h 中增加如下函数:intindexFile(stringfn,stringfnIndex,stringfieldName);在 studScoreAFile.cpp 编写以上函数的实现代码。
建立索引对话框,它与排序对话框一样DC_EDITFN fieldName,findVal IDC_EDITFIELDNAME IDC_EDITDATAAREA。
13、基于索引的查询由于排序过程中困难,可能索引也不会成功,只能对于二进制文件可能成功,对于二进制文件我没时间再编码了,已经在studScoreAFile.cpp 同步对于二进制进行说明,但是没有具体实施,可能有点小问题。
在 studScoreAFile.h 中增加如下函数:intqueryIndex(stringfn,stringfnIndex,stringfindVal,string&s data);在 studScoreAFile.cpp 编写以上函数的实现代码。
建立查询页面IDC_EDITFN fieldName,findVal IDC_EDITFNNDX IDC_EDITDATAAREA IDC_EDITFINDVALUE IDC_EDITFIELDNAME。