当前位置:文档之家› 资料5-6 根的向水性实验

资料5-6 根的向水性实验

资料5-6 根的向水性实验
资料5-6 根的向水性实验

资料5-6根的向水性实验

取一根橡皮管,在距一端1/3处用针扎一个小孔,让小孔向内,弯成U字形,见图5-1

根向水生长的实验装置在两块相同大小的玻璃片当中,把两块玻璃片扎紧。在U字形空间中装入干燥的沙土,均匀放入五粒正在萌发的大豆或玉米种子。向橡皮管中灌水,水就会从小孔渗出,小孔周围的沙土中就含有较多的水。几天后,植物的根系向着小孔处生长的情况就可以从玻璃外看得清清楚楚。此实验必须在上课前一周开始准备。

资料5-7根向地性的原理

植物受到单方向的外界刺激之后,发生了单方向的反应,这种现象叫做向性。向性(向光性、向地性、向水性、向肥性等)是植物的适应现象之一。根和茎对地心引力发生的向地或背地生长的现象叫做向地性。由于根的向地性和茎的负向地性,所以播种时可以不管种子的姿态。否则,农民播种时只好弯着腰,将种子一粒一粒地正向插在土里了。

地心引力何以会诱导根和茎发生相反方向的弯曲生长呢?这是因为地心引力改变了生长素的分布。根的向地弯曲生长,是近地侧生长素浓度高于背地侧,因此,近地侧根的生长受到抑制,背地侧根的生长就快,从而表现出向地生长的现象。对于茎来说,也是近地侧生长素浓度高于背地侧,但是却促进了茎的生长,使其表现为负向地性。这是因为根和茎对生长素浓度的反应不同:

生长素浓度低时,促进根生长;浓度高时抑制根生长,却促进茎生长;浓度更高时,则抑制茎生长。

资料5-8根和根系的类型

1.根的类型

根可分为主根、侧根和不定根。由胚根发育而成的根,叫主根,它是植物体上最早出现的根。由主根上长出的许多分枝,叫侧根。茎、叶、老根等处产生的根,叫做不定根。在林业和园艺上,对柳树、葡萄、月季、桂花等植物的枝条进行扦插或压条,对秋海棠、虎尾兰等植物进行叶插等营养繁殖中,均能产生大量的不定根。

2.根系的类型

一株植物上所含有的根的总和,称为根系。根系有两种基本类型:

直根系和须根系。有明显的主根和侧根区别的根系,称为直根系,如大豆、棉花、油菜等大多数双子叶植物的根系。没有明显的主根和侧根区别的根系,称为须根系,如小麦、水稻、玉米等大多数单子叶植物的根系(图5-2)。

资料5-9庞大的根系

植物体地下根系的分布范围大体上与地上部分的分布范围相适应,通常是地下部分往往大于地上部分。根系在土壤里有向纵深和周围发展的特点。有人研究了一年生苹果的树苗后发现,根系的分枝总数达5万条之多,而树干的分枝却不超过10条。可见,根系的分枝能力比树干大得多。

资料5-10变态根

变态根是由于功能改变所引起的形态和结构都发生变化的根。主要类型有:

1.贮藏根

两年生或多年生的草本植物的肥大变态根,贮藏有大量的养料,以适应越冬和营养繁殖,也是人类食用的部分。它又可分为:

(1)肉质根:由主根等部分膨大形成,如萝卜、胡萝卜、甜菜等。

(2)块根:由侧根或不定根膨大形成,每一株植物可以形成许多个,如甘薯、丽菊等。

2.气生根

生长在空气中的一种变态根,一般由茎上发生的不定根形成,也可垂入土壤。一般没有根冠和根毛,能吸收空气以及空气中的水,有的也起支持作用。它又可分为:(1)呼吸根:主要进行呼吸作用,根的内部有通气道,如吊兰、红树、池杉等。

(2)支柱根(支持根):由基部几个茎节上长出的不仅有支持作用,还有吸收水和无机盐作用的不定根,如玉米、甘蔗等。

(3)板状根:由枝干上长出的许多不定根,外形呈不规则的板状,如榕树等。

(4)攀缘根:在细长的茎上生长着许多不定根,将自身固定在墙壁或其他物体上,如常春藤等。

3.吸根(寄生根)

寄生植物吸收寄主体内水和营养的一种变态根,由其缠绕茎发生,伸入寄主茎内,将两者的维管束相连接,如菟丝子、槲寄生等。

数值分析实验报告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 姓名:万轩 实验二插值法

排序操作实验报告

数据结构与算法设计 实验报告 (2016 — 2017 学年第1 学期) 实验名称: 年级: 专业: 班级: 学号: 姓名: 指导教师: 成都信息工程大学通信工程学院

一、实验目的 验证各种简单的排序算法。在调试中体会排序过程。 二、实验要求 (1)从键盘读入一组无序数据,按输入顺序先创建一个线性表。 (2)用带菜单的主函数任意选择一种排序算法将该表进行递增排序,并显示出每一趟排序过程。 三、实验步骤 1、创建工程(附带截图说明) 2、根据算法编写程序(参见第六部分源代码) 3、编译 4、调试 四、实验结果图 图1-直接输入排序

图2-冒泡排序 图3-直接选择排序 五、心得体会 与哈希表的操作实验相比,本次实验遇到的问题较大。由于此次实验中设计了三种排序方法导致我在设计算法时混淆了一些概念,设计思路特别混乱。虽然在理清思路后成功解决了直接输入和直接选择两种算法,但冒泡

排序的算法仍未设计成功。虽然在老师和同学的帮助下完成了冒泡排序的算法,但还需要多练习这方面的习题,平时也应多思考这方面的问题。而且,在直接输入和直接选择的算法设计上也有较为复杂的地方,对照书本做了精简纠正。 本次实验让我发现自己在算法设计上存在一些思虑不周的地方,思考问题过于片面,逻辑思维能力太过单薄,还需要继续练习。 六、源代码 要求:粘贴个人代码,以便检查。 #include #define MAXSIZE 100 typedef int KeyType; typedef int DataType; typedef struct{ KeyType key; DataType data; }SortItem,SqList[MAXSIZE]; /*******直接插入顺序表*******/ void InsertSort(SqList L,int n) { int i,j,x; SortItem p; for(i=1;i

数值分析实验报告

数值分析实验报告 姓名:周茹 学号: 912113850115 专业:数学与应用数学 指导老师:李建良

线性方程组的数值实验 一、课题名字:求解双对角线性方程组 二、问题描述 考虑一种特殊的对角线元素不为零的双对角线性方程组(以n=7为例) ?????????? ?????? ? ???? ?d a d a d a d a d a d a d 766 55 44 3 32 211??????????????????????x x x x x x x 7654321=?????????? ? ???????????b b b b b b b 7654321 写出一般的n (奇数)阶方程组程序(不要用消元法,因为不用它可以十分方便的解出这个方程组) 。 三、摘要 本文提出解三对角矩阵的一种十分简便的方法——追赶法,该算法适用于任意三对角方程组的求解。 四、引言 对于一般给定的d Ax =,我们可以用高斯消去法求解。但是高斯消去法过程复杂繁琐。对于特殊的三对角矩阵,如果A 是不可约的弱对角占优矩阵,可以将A 分解为UL ,再运用追赶法求解。

五、计算公式(数学模型) 对于形如????? ?? ????? ??? ?---b a c b a c b a c b n n n n n 111 2 2 2 11... ... ...的三对角矩阵UL A =,容易验证U 、L 具有如下形式: ??????? ????? ??? ?=u a u a u a u n n U ...... 3 3 22 1 , ?? ????? ? ?? ??????=1 (1) 1132 1l l l L 比较UL A =两边元素,可以得到 ? ?? ??-== = l a b u u c l b u i i i i i i 111 i=2, 3, ... ,n 考虑三对角线系数矩阵的线性方程组 f Ax = 这里()T n x x x x ... 2 1 = ,()T n f f f f ... 2 1 = 令y Lx =,则有 f Uy = 于是有 ()?????-== --u y a f y u f y i i i i i 1 1 11 1 * i=2, 3, ... ,n 再根据y Lx =可得到

通信原理实验报告

中南大学 数字通信原理 实验报告 课程名称:数字通信原理实验 班级: 学号: 姓名: 指导教师:

实验一数字基带信号 一、实验目的 1、了解单极性码、双极性码、归零码、不归零码等基带信号波形特点。 2、掌握AMI、HDB3码的编码规则。 3、掌握从HDB3码信号中提取位同步信号的方法。 4、掌握集中插入帧同步码时分复用信号的帧结构特点。 5、了解HDB3(AMI)编译码集成电路CD22103。 二、实验内容 1、用示波器观察单极性非归零码(NRZ)、传号交替反转码(AMI)、三阶高密度双极性码(HDB3)、整流后的AMI码及整流后的HDB3码。 2、用示波器观察从HDB3码中和从AMI码中提取位同步信号的电路中有关波形。 3、用示波器观察HDB3、AMI译码输出波形。 三、实验步骤 本实验使用数字信源单元和HDB3编译码单元。 1、熟悉数字信源单元和HDB3编译码单元的工作原理。接好电源线,打开电源开关。 2、用示波器观察数字信源单元上的各种信号波形。 用信源单元的FS作为示波器的外同步信号,示波器探头的地端接在实验板任何位置的GND点均可,进行下列观察: (1)示波器的两个通道探头分别接信源单元的NRZ-OUT和BS-OUT,对照发光二极管的发光状态,判断数字信源单元是否已正常工作(1码对应的发光管亮,0码对应的发光管熄); (2)用开关K1产生代码×1110010(×为任意代码,1110010为7位帧同步码),K2、K3产生任意信息代码,观察本实验给定的集中插入帧同步码时分复用信号帧结构,和NRZ 码特点。 3、用示波器观察HDB3编译单元的各种波形。 仍用信源单元的FS信号作为示波器的外同步信号。 (1)示波器的两个探头CH1和CH2分别接信源单元的NRZ-OUT和HDB3单元的AMI-HDB3,将信源单元的K1、K2、K3每一位都置1,观察全1码对应的AMI码(开关K4置于左方AMI 端)波形和HDB3码(开关K4置于右方HDB3端)波形。再将K1、K2、K3置为全0,观察全0码对应的AMI码和HDB3码。观察时应注意AMI、HDB3码的码元都是占空比为0.5的双极性归零矩形脉冲。编码输出AMI-HDB3比信源输入NRZ-OUT延迟了4个码元。

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

排序问题实验报告

2010级数据结构实验报告 实验名称:排序 姓名:袁彬 班级: 2009211120 班内序号: 09 学号: 09210552 日期: 2010 年12 月19 日 1.实验要求 试验目的: 通过选择试验内容中的两个题目之一,学习、实现、对比各种排序的算法,掌握各种排序算法的优缺点,以及各种算法使用的情况。 试验内容: 题目一: 使用简单数组实现下面各种排序算法,并进行比较。 排序算法如下: ①插入排序; ②希尔排序 ③冒泡排序; ④快速排序; ⑤简单选择排序; ⑥堆排序 ⑦归并排序 ⑧基数排序 ⑨其他。 具体要求如下: ①测试数据分为三类:正序,逆序,随机数据。 ②对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关键字交换记为三次移动)。 ③对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微妙。 ④对②和③的结果进行分析,验证上述各种算法的时间复杂度。 ⑤编写main()函数测试各种排序算法的正确性。 题目二: 使用链表实现下面各种排序算法,并进行比较。 排序算法如下: ①插入排序; ②冒泡排序; ③快速排序;

④简单选择排序; ⑤其他。 具体要求如下: ①测试数据分为三类:正序,逆序,随机数据。 ②对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关键字交换记为三次移动)。 ③对于这三类数据,比较上述排序算法中不同算法的执行时间,精确到微妙(选作) ④对②和③的结果进行分析,验证上述各种算法的时间复杂度。 ⑤编写main()函数测试各种排序算法的正确性。 2. 程序分析 2.1 存储结构 程序中每一个算法均是用一个类来表示的,类中有自己的构造函数、排序函数。 程序的储存结构采用数组。数组的第一个位置不存储数据。数据从第二个位置开始。数组中的相对位置为数组的下标。 2.2 关键算法分析 ㈠、关键算法: 1、插入排序函数:Insert s ort(int n) ①、从2开始做循环,依次和前面的数进行比较:for(int i=2;i<=n;i++) ②、如果后面的比前面的小,则进行前移:if(number[i]=1;d=d/2) ②、在自己的间隔中进行简单插入排序,进行循环:for(int i=d+1;i<=n;i++) ③、如果后面的数据比前面的小,进行前移:if(number[i]0;j=j-d) ⑥、大的数据后移:number[j+d]=number[j]; ⑦、哨兵归位:number[j+d]=number[0]; 3、冒泡排序函数:Bubble s ort(int n) ①、设置有序无序的边界点:int pos=n; ②、当边界点不为空进行循环:while(pos!=0) ③、边界点传递给bound:int bound=pos; ④、从开始到边界点进行循环:for(int i=1;inumber[i+1]) ⑥、交换:number[0]=number[i];number[i]=number[i+1];number[i+1]=number[0]; ⑦、从小设置边界点:pos=i; 4、一趟快速排序函数:partion(int first,int end) ①、传递设置整个数据的起点和终点:int i=first;int j=end; ②、设置中轴:number[0]=number[i]; ③、当end大于first进行循环:while(i

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

数字通信系统设计实验报告

实验1:用 Verilog HDL 程序实现乘法器 1实验要求: (1) 编写乘法器的 Veirlog HDL 程序. (2) 编写配套的测试基准. (3) 通过 QuartusII 编译下载到目标 FPGA器件中进行验证 (4) 注意乘法逻辑电路的设计. 2 试验程序: Module multiplier(input rst,input clk,input [3:0]multiplicand, input [3:0]multiplier,input start_sig,output done_sig,output [7:0]result); reg [3:0]i; reg [7:0]r_result; reg r_done_sig; reg [7:0]intermediate; always @ ( posedge clk or negedge rst ) if( !rst ) begin i<=4'b0; r_result<=8'b0; end else if(start_sig) begin case(i) 0: begin intermediate<={4'b0,multiplicand}; r_result<=8'b0; i<=i+1; end 1,2,3,4: begin if(multiplier[i-1]) begin r_result<=r_result+intermediate; end intermediate<={intermediate[6:0],1'b0}; i<=i+1; end 5: begin r_done_sig<=1'b1;

i<=i+1; end 6: begin r_done_sig<=1'b0; i<=1'b0; end endcase end assign result=r_done_sig?r_result:8'bz; assign done_sig=r_done_sig; endmodule3 测试基准: `timescale 1 ps/ 1 ps module multiplier_simulation(); reg clk; reg rst; reg [3:0]multiplicand; reg [3:0]multiplier; reg start_sig; wire done_sig; wire [7:0]result; /***********************************/ initial begin rst = 0; #10; rst = 1; clk = 1; forever #10 clk = ~clk; end /***********************************/ multiplier U1 ( .clk(clk), .rst(rst), .multiplicand(multiplicand), .multiplier(multiplier), .result(result), .done_sig(done_sig), .start_sig(start_sig) ); reg [3:0]i; always @ ( posedge clk or negedge rst ) if( !rst )

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

各种排序实验报告

【一】需求分析 课程题目是排序算法的实现,课程设计一共要设计八种排序算法。这八种算法共包括:堆排序,归并排序,希尔排序,冒泡排序,快速排序,基数排序,折半插入排序,直接插入排序。 为了运行时的方便,将八种排序方法进行编号,其中1为堆排序,2为归并排序,3为希尔排序,4为冒泡排序,5为快速排序,6为基数排序,7为折半插入排序8为直接插入排序。 【二】概要设计 1.堆排序 ⑴算法思想:堆排序只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。将序列所存储的元素A[N]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的元素均不大于(或不小于)其左右孩子(若存在)结点的元素。算法的平均时间复杂度为O(N log N)。 ⑵程序实现及核心代码的注释: for(j=2*i+1; j<=m; j=j*2+1) { if(j=su[j]) break; su[i]=su[j]; i=j; } su[i]=temp; } void dpx() //堆排序 { int i,temp; cout<<"排序之前的数组为:"<=0; i--) { head(i,N); } for(i=N-1; i>0; i--) {

temp=su[i]; su[i]=su[0]; su[0]=temp; head(0,i-1); } cout<<"排序之后的数组为:"<

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

通信原理 数字基带传输实验报告

基带传输系统实验报告 一、 实验目的 1、 提高独立学习的能力; 2、 培养发现问题、解决问题和分析问题的能力; 3、 学习matlab 的使用; 4、 掌握基带数字传输系统的仿真方法; 5、 熟悉基带传输系统的基本结构; 6、 掌握带限信道的仿真以及性能分析; 7、 通过观察眼图和星座图判断信号的传输质量。 二、 实验原理 在数字通信中,有些场合可以不经载波调制和解调过程而直接传输基带信号,这种直接传输基带信号的系统称为基带传输系统。 基带传输系统方框图如下: 基带脉冲输入 噪声 基带传输系统模型如下: 信道信号 形成器 信道 接收 滤波器 抽样 判决器 同步 提取 基带脉冲

各方框的功能如下: (1)信道信号形成器(发送滤波器):产生适合于信道传输的基带信号波形。因为其输入一般是经过码型编码器产生的传输码,相应的基本波形通常是矩形脉 冲,其频谱很宽,不利于传输。发送滤波器用于压缩输入信号频带,把传输 码变换成适宜于信道传输的基带信号波形。 (2)信道:是基带信号传输的媒介,通常为有限信道,如双绞线、同轴电缆等。信道的传输特性一般不满足无失真传输条件,因此会引起传输波形的失真。另 外信道还会引入噪声n(t),一般认为它是均值为零的高斯白噪声。 (3)接收滤波器:接受信号,尽可能滤除信道噪声和其他干扰,对信道特性进行均衡,使输出的基带波形有利于抽样判决。 (4)抽样判决器:在传输特性不理想及噪声背景下,在规定时刻(由位定时脉冲控制)对接收滤波器的输出波形进行抽样判决,以恢复或再生基带信号。 (5)定时脉冲和同步提取:用来抽样的位定时脉冲依靠同步提取电路从接收信号中提取。 三、实验内容 1采用窗函数法和频率抽样法设计线性相位的升余弦滚讲的基带系统(不调用滤波器设计函数,自己编写程序) 设滤波器长度为N=31,时域抽样频率错误!未找到引用源。o为4 /Ts,滚降系数分别取为0.1、0.5、1, (1)如果采用非匹配滤波器形式设计升余弦滚降的基带系统,计算并画出此发送滤波器的时域波形和频率特性,计算第一零点带宽和第一旁瓣衰减。 (2)如果采用匹配滤波器形式设计升余弦滚降的基带系统,计算并画出此发送滤波器的时域波形和频率特性,计算第一零点带宽和第一旁瓣衰减。 (1)非匹配滤波器 窗函数法: 子函数程序: function[Hf,hn,Hw,w]=umfw(N,Ts,a)

数值分析实验报告模板

数值分析实验报告模板 篇一:数值分析实验报告(一)(完整) 数值分析实验报告 1 2 3 4 5 篇二:数值分析实验报告 实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。即若x0 偏离所求根较远,Newton法可能发散的结论。并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收

敛,但精度不够。熟悉Matlab语言编程,学习编程要点。体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk) 产生逼近解x*的迭代数列{xk},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 xk?1?xk?rf(xk) 'f(xk) 其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x);

数据结构内排序实验报告

一、实验目的 1、了解内排序都是在内存中进行的。 2、为了提高数据的查找速度,需要对数据进行排序。 3、掌握内排序的方法。 二、实验内容 1、设计一个程序e xp10—1.cpp实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序 过程。 (1)源程序如下所示: //文件名:exp10-1.cpp #include #define MAXE 20 //线性表中最多元素个数 typedef int KeyType; typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoType } RecType; void InsertSort(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序 { int i,j,k; RecType temp; for (i=1;i=0 && temp.key

微机原理与单片机实验报告

北京联合大学信息学院实验报告 课程名称:微型计算机原理学号: 姓名: 2012 年 6 月 9 日

目录 实验1 EMU8086模拟器的使用 (3) 实验2 数据传送指令的使用 (5) 实验3 多位十六进制加法运算实验 (9) 实验5 循环程序实验 (11) 实验6 由1 到100 求和实验 (13) 实验7 求表中正数_负数_0 的个数实验 (14) 实验8 数据排列实验(冒泡排序) (16) 实验9 系统功能调用(大小写转换) (18) 实验10 阶乘(递归运算) (20) 实验11 ProteusIO工程文件的建立 (21) 实验12 IO口读写实验(245、373) (22) 实验13 8255 接口实验 (24) 实验14 声光报警 (25) 实验总结 (28)

实验1 EMU8086模拟器的使用 一实验要求 利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的: 熟悉EMU8086实验环境 三EMU8086环境: 1 模拟器编辑窗口 2 模拟器调试窗口

四实验内容 实验内容1:新建文件。 运行emu8086 1. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码: MOV AX, 1020H MOV BX, 2030H MOV AX, BX ADD AX, BX MOV [BX], AX MOV [2032H], AX HLT 2. 编译:单击“编译”按钮,对程序段进行编译; 3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。 4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。 5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。 6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。 7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为400毫秒,单击“全速”按钮,运行程序, 8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容 9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序

数字通信原理实验报告

《数字通信原理与技术》实验报告 学院:江苏城市职业学院 专业:计算机科学与技术 班级: 姓名:___________ 学号: ________

实验一熟悉MATLAB环境 一、实验目的 (1)熟悉MATLAB的主要操作命令。 (2)掌握简单的绘图命令。 (3)用MATLAB编程并学会创建函数。 (4)观察离散系统的频率响应。 二、实验内容 (1)数组的加、减、乘、除和乘方运算。输入A=【1 2 3 4】,B=【3 4 5 6】,求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。 (2)用MATLAB实现下列序列: a)x(n)=0.8n 0≦n≦15 b)x(n)=e(0.2+0.3j) 0≦n≦15 c)x(n)=3cos(0.125πn+0.2π)+0.2sin(0.25πn+0.1π) 0≦n≦15 d) 将c)中的x(n)扩展成以16为周期的函数x16(n)=x(n+16),绘出四个周期。 e) 将c)中的x(n)扩展成以10为周期的函数x10(n)=x(n+10),绘出四个周期。 (3) 绘出下列时间函数图形,对x轴、y轴以及图形上方均须加上适当的标注: a)x (t )=sin(2πt) 0≦n≦10s b) x (t)=cos(100πt)sin(πt) 0≦n≦14s 三、程序和实验结果 (1)实验结果: 1、A=[1,2,3,4] B=[3,4,5,6] C=A+B D=A-B E=A.*B F=A./B G=A.^B A =1 2 3 4 B =3 4 5 6 C =4 6 8 10 D =-2 -2 -2 -2 E =3 8 15 24 F =0.3333 0.5000 0.6000 0.6667 G =1 16 243 4096 >> stem(A) >> stem(B) >> stem(C) >> stem(D) >> stem(E) >> stem(F)

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

内部排序比较 (实验报告+源程序)C++

实验报告3 实验名称:数据结构与软件设计实习 题目:内部排序算法比较 专业:生物信息学班级:01 姓名:学号:实验日期:2010.07.24 一、实验目的: 比较冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序; 二、实验要求: 待排序长度不小于100,数据可有随机函数产生,用五组不同输入数据做比较,比较的指标为关键字参加比较的次数和关键字移动的次数; 对结果做简单的分析,包括各组数据得出结果的解释; 设计程序用顺序存储。 三、实验内容 对各种内部排序算法的时间复杂度有一个比较直观的感受,包括关键字比较次数和关键字移动次数。 将排序算法进行合编在一起,可考虑用顺序执行各种排序算法来执行,最后输出所有结果。 四、实验编程结果或过程: 1. 数据定义 typedef struct { KeyType key; }RedType; typedef struct { RedType r[MAXSIZE+1]; int length; }SqList; 2. 函数如下,代码详见文件“排序比较.cpp”int Create_Sq(SqList &L) void Bubble_sort(SqList &L)//冒泡排序void InsertSort(SqList &L)//插入排序 void SelectSort(SqList &L) //简单选择排序int Partition(SqList &L,int low,int high) void QSort(SqList &L,int low,int high)//递归形式的快速排序算法 void QuickSort(SqList &L) void ShellInsert(SqList &L,int dk)//希尔排序 void ShellSort(SqList &L,int dlta[ ]) 3. 运行测试结果,运行结果无误,如下图语速个数为20

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