温湿度实验报告(精选7篇)
温湿度实验报告 篇1
龙源期刊网 http://.cn
基于ZigBee的精密仪器实验室温湿度测控系统
作者:袁金正 石奋苏
来源:《现代电子技术》2013年第04期
摘 要: 针对精密仪器实验室对温湿度的严格要求,和在控制调节方面的延迟现象,设计了基于ARM和ZigBee的精密仪器实验室温湿度自动测控系统。系统以ZigBee无线传感器网络为温湿度数据来源,以AT91RM9200嵌入式微处理器为中心,使用RS 232C接收接口,通过对GPIO的电压输出控制,从而操纵以继电器为中心的控制电路;系统采用嵌入式Linux为上位机开发平台,使用Qt/E和多线程技术实现了图形用户界面,完成了温湿度的实时显示、查询和设置,根据精密仪器实验室温湿度的变化,系统可以准确地进行自动测控。关键词: 温湿度; ZigBee; GPIO; 精密仪器实验室; RS 232C; 继电器
中图分类号: TN919⁃34; TP273 文献标识码: A 文章编号: 1004⁃373X(2013)04⁃0147⁃04
温湿度实验报告 篇2
关键词:DHT11,单片机,温湿度传感器,报警
0 引言
实验室作为学生实验和科研活动的重要场所,实验室环境指标是否符合要求,直接关系到实验能否顺利进行,乃至实验的成败,特别是对于医学院校生物、生理等实验课程,都要求稳定的实验室环境,所以对于实验室环境参数的检测就显得尤为重要。传统的实验室温度湿度检测方案基本使用温湿度传感器采集信号,经放大、滤波、校准、模数转换、显示等硬件电路实现,这种方案由于硬件系统复杂,调试困难,使用时系统小元件故障就可能造成系统不稳定乃至瘫痪。鉴于此,我们采用数字温湿度传感器DHT11对传统温湿度检测方案进行改进设计,对实验室温湿度参数采用多点检测,实现了实时综合评估实验室温湿度环境适宜性的目的。
1 系统原理及硬件构成
1.1 系统原理
实验室多点温湿度报警系统原理框图如图1所示,由低性价比单片机对数字温湿度传感器控制,通过模拟温度传感器通讯时序,实现对温湿度数据采集,并对数据处理、显示。当温湿度数据超出设定温湿度值时,由单片机驱动报警装置,实现现场报警功能。
1.2 硬件选型
单片机选用国产宏晶科技生产的高性价比STC89C51RC系列[1],与传统8051单片机[3]相比,其具有功耗低,抗外部电磁辐射干扰强,程序下载方式为UART方式等优点,使用非常方便。显示模块采用自带汉字库的LCD12864,主控芯片为ST7921,要求支持串口通信(部分LCD模块需要跳线才能实现串口通信功能)。报警装置采用LED与蜂鸣器实现声光报警,当温湿度超出设定值时,单片机I/O口输出高电平,经NPN型三极管驱动大电流蜂鸣器和高亮发光管,实现报警功能。
1.3 DHT11特性研究
DHT11[2]数字温湿度传感器,是一款含有已校准数字信号输出的温湿度复合传感器。测量范围相对湿度20%~90%RH,摄氏温度0~50 ℃。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。数据接口采用单线制串行接口,信号传输距离可达20 m以上。传感器典型连接方式如图2所示,电源正与地跟单片机电源正和地相连接,8路数据接口分别接5.1 k上拉电阻与单片机P1口连接。
DHT11数字温湿度传感器采用单线双向的串行接口技术,一次通讯时间约4ms,数据分小数部分和整数部分,一次完整的数据传输为40bit,高位在先。即8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验码,其中校验数据等于上述4个8bit数据之和所得结果的末8位。例如:读取数据为:湿度为:36.50%;温度为22.80 ℃,则对应的40bit数据为:0010 0100,0011 0010,0001 0110,0101 0000,1011 1100,其数值对应于温湿度如表1所示。
DHT11与单片机主机通讯过程时序如图3所示,总线空闲状态为高电平,主机把总线拉低大于18 ms等待DHT11响应,等开始信号结束后, 延时等待20~40 μs,DHT11然后发送80 μs低电平响应信号,然后主机读取DHT11的响应信号,若总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80 μs,准备发送数据,每1bit数据都以50 μs低电平时隙开始,高电平的长短(26 μs~28 μs表示数字0;70 μs表示数字1)决定了数据位是0或1。如果读取响应信号为高电平,则DHT11没有响应,应当检测器件或电路。当最后1bit数据传送完毕后,DHT11拉低总线50 μs,随后总线由上拉电阻拉高进入空闲状态。当用户MCU再次发送一次开始信号后, DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,这是读到的数据为上次测量的数据,要得到实时温湿度数据,必须连续两次读取温湿度值,且第二次读到的值为当前的温湿度值。这一点特别值得注意。
2 系统软件
软件结构比较简单,总体流程如图4所示。主要包括了系统各部分的初始化[4],数据的读取、计算、显示、超限判断等。程序编写首先要用单片机软件模拟DHT11时序,驱动单个传感器模块,然后应用模块化编程方法集成整个系统软件,以实现各项功能。
3 总结
本文采用了单总线数字温度、湿度传感器,应用单片机原理,LCD显示技术,实现了实验室多点温湿度参数的实时显示和超限报警系统,保障了实验室环境的可靠性,有效地提高了实验成功率。本系统还可以根据需要增加其他模块,通过控制比如通风,加温等装置,达到自动控制实验室环境的目的。
参考文献
[1]STC89C51RC/RD+系列单片机器件手册[EB/OL].http//www.MCU-Memory.com.2009.02.02.
[2]温湿度模块DHT11产品手册[EB/OL].http//www.aosong.com.
[3]李泉溪.单片机原理与应用实例仿真[M].北京:北京航空航天大学出版社,2009:266-269.
温湿度实验报告 篇3
一般标准对包装材料性能检测有两种形式。一种是出厂检验,由生产企业自行检测,一般都是常规项目,不涉及专业的检测仪器和设备;另一种是型式检验,检验项目为标准全项,需要专业实验室才能完成。按照一般标准的规定,终端用户每年至少应当对使用的材料进行两次型式检测。对于需要在标准恒温恒湿条件处理的样品,标准条件下获得试验结果和数据有以下两点好处:一是可以作为同一家供应商质量稳定性的判定依据;二是可比较不同供应商包装材料的质量差异。
GB/T 10739-2002《纸、纸板和纸浆试样处理和试验的标准大气》对实验室纸张温湿度处理做出了相应规定,本文主要针对该标准对实验室试样温湿度控制详细说明实验室环境处理的规定和意义,期望能让实验室检测的数据更具应用价值。
GB/T 10739-2002标准对纸张温湿度处理的规定
GB/T 10739-2002标准中涉及到的温湿度处理主要包括两方面:试样预处理和温湿度处理。标准中规定:试验标准大气条件应是温度(23±1)℃、相对湿度(50±2)%。
1.试样预处理
标准中规定,由于水分平衡滞后会给试验带来误差,故在试样处理前,应将试样置于相对湿度为10%~35%、温度不高于40℃的大气条件中预处理24h。如果预知温湿处理后的平衡水分含量相当于吸湿过程达到平衡时的水分含量,则该预处理可以省去。在条件允许的情况下,也可以使用硫酸干燥器对试样预处理24h。
2.温湿度处理
将切好的试样挂起来,使恒温恒湿的气流自由接触到试样的各个面,直至试样的水分含量与大气中的水蒸气达到平衡状态。当间隔1h左右两次称量之差不大于总质量的0.25%时,就认为试样的水分含量与大气条件达到了平衡。对于高定量的纸张,应当延长两次称量的时间间隔,其两次称量之差应在规定范围内,以此作为试样平衡与否的判定依据。GB/T 10739-2002标准中特别提到:具有良好循环条件的实验室,纸张的温湿处理通常4h足矣;对于定量较高的纸张一般需要处理5~8h;对于高定量的纸板和经过特殊处理的材料,则至少需要处理48h。
理化实验室温湿度处理的意义
GB/T 10739-2002标准适用于对整体环境有要求的包装材料理化性能的检测,所有检测仪器设备和试样均应处于温度23℃、相对湿度50%的条件下进行试验。
众所周知,包装材料在实际流通、储存过程中可能会处于低温高温或高温高湿等不同的环境中,这与标准温湿度(温度23℃、相对湿度50%)或者规定温湿度条件完全不同。然而,不同温湿度条件下,包装材料的物理性能会有一定甚至非常大的差异。之所以选择实验室恒定温湿度条件进行检测,就是为了在相同环境下对包装材料的物理性能进行长时间的数据积累,以便判断供货物品的质量连续性和稳定性是否符合相关的技术规范。只有相同环境检测下的数据才具有可比性,否则不同环境下检测的数据只能说明单一批次质量的好坏,而不能评定长期质量稳定性和连续性。
尤其当天气特别潮湿时,纤维类制品的含水率较高,将这类样品放置在温度23℃、相对湿度50%的条件下通常需要3~7天才能达到含水率平衡。需要注意的是,含水率较高的样品在处理时一定要先经过干燥处理,这样可以有效缩短样品后期平衡时间,从而缩短试验时间,节省试验费用。
理化实验室温湿度控制
一般理化实验室需要使用恒温恒湿空调机房专用空调机来控制温湿度。通过恒温恒湿空调机房专用空调机处理过的实验室称为恒温恒湿实验间。恒温恒湿空调机房专用空调机一般包括控制监测系统、通风系统、制冷循环及除湿系统、加湿系统、加热系统和水冷机组水循环系统6大部分。
1.控制监测系统
控制监测系统通过控制器控制和显示实验室的温湿度、空调机组的工作状态,分析各传感器反馈回来的信号,对机组各项功能发出工作指令,达到精确控制实验室温湿度的目的。精密空调可控制实验室环境稳定在温度(23±0.5)℃、相对湿度(50±1)%。
2.通风系统
通风系统机组内的各项功能(制冷、除湿、加热、加湿等)对恒温恒湿空调机房内空气进行处理时,均需要空气流动来完成热、湿的交换,恒温恒湿空调机房内气体还需保持一定流速,防止尘埃沉积,并及时将悬浮于空气中的尘埃滤除掉。一般可采用实验间顶部进风、地板回风的方式。
3.制冷循环及除湿系统
制冷循环及除湿系统采用蒸发压缩式制冷循环系统,利用制冷剂蒸发时吸收汽化潜热来制冷。
4.加湿系统
加湿系统通过电极加湿罐或红外加湿灯管等设备将水加热形成水蒸气的方式来工作。加湿量及进排水量均由电脑控制,加湿罐的自动清洗程序可确保其维持正常的加湿效率。
5.加热系统
加热所产生的热量可作为空调机内外的补偿热量,加热系统大多采用电热管形式。
6.水冷机组水循环系统
水冷机组的冷凝器设在机组内部,循环水通过热交换器,将制冷剂气体冷却凝结成液体。
除上述专用空调,实验室还需设计夹层墙,即实验室外墙和保温墙分开做,两者之间应留有至少600mm的间隔。这样一来,可有效防止外墙在外界低温时大量吸收空调产生的热量,以及外界高温时空调需要大量的制冷来抵消外部传递进来的热量,因为这两种情形都会增加空调的负担,不仅浪费能耗,还会缩短空调寿命。此外,夹层墙还可有效保证环境温湿度的稳定,避免其出现异常波动。
总之,试验检测结果的可靠性不仅取决于仪器的好坏,更取决于环境的良好控制。恒温恒湿实验室是保证电子检测设备正常运行并获得准确试验数据的基础,对于标准规定需要温湿度处理的样品必须严格按照标准规定进行处理,否则试验数据的准确就无从谈起。
吸收实验实验报告 篇4
1、学习填料塔得操作; 2、测定填料塔体积吸收系数 K Y a、三、实验原理:
对填料吸收塔得要求,既希望它得传质效率高,又希望它得压降低以省能耗。但两者往往就是矛盾得,故面对一台吸收塔应摸索它得适宜操作条件。
(一)、空塔气速与填料层压降关系 气体通过填料层压降△P 与填料特性及气、液流量大小等有关,常通过实验测定。
若以空塔气速[m/s]为横坐标,单位填料层压降[mmH 2 0/m]为纵坐标,在双对数坐标纸上标绘如图2—2-7-1所示。当液体喷淋量L 0 =0时,可知~关系为一直线,其斜率约 1、0—2,当喷淋量为 L 1 时,~为一折线,若喷淋量越大,折线位置越向左移动,图中 L 2 >L 1.每条折线分为三个区段,值较小时为恒持液区,~关系曲线斜率与干塔得相同。值为中间时叫截液区,~曲线斜率大于 2,持液区与截液区之间得转折点叫截点 A。值较大时叫液泛区,~曲线斜率大于 10,截液区与液泛区之间得转折点叫泛点 B。在液泛区塔已无法操作。塔得最适宜操作条件就是在截点与泛点之间,此时塔效率最高。
图 2—2-7-1
填料塔层得~关系图
图 2—2—7-2
吸收塔物料衡算
(二)、吸收系数与吸收效率 本实验用水吸收空气与氨混合气体中得氨,氨易溶于水,故此操作属气膜控制.若气相中氨得浓度较小,则氨溶于水后得气液平衡关系可认为符合亨利定律,吸收平均推动力可用对数平均浓度差法进行计算。其吸收速率方程可用下式表示:
(1)式中:N A ——被吸收得氨量[kmolNH 3 /h];-—塔得截面积[m2 ] H——填料层高度[m] Y m--气相对数平均推动力 K Y a--气相体积吸收系数[kmolNH 3 /m3 ·h] 被吸收氨量得计算,对全塔进行物料衡算(见图 2-2—7-2):
(2)
式中:V——空气得流量[kmol 空气/h] L-—吸收剂(水)得流量[kmolH 2 0/h] Y 1-—塔底气相浓度[kmolNH 3 /kmol 空气] Y 2 ——塔顶气相浓度[kmolNH 3 /kmol 空气] X 1,X 2-—分别为塔底、塔顶液相浓度[kmolNH 3 /kmolH 2 0] 由式(1)与式(2)联解得:
(3)为求得 K Y a必须先求出 Y 1、Y 2 与 Y m 之值.1、Y 1 值得计算:
(4)
式中:V 0 1--氨气换算为标态下得流量[m 3 /h] V 0 2 ——空气换算为标态下得流量[m 3 /h] 0、98——氨气中含纯 NH 3 分数 对氨气:
(5)
式中:V 1 ——氯气流量计上得读数[m3 /h] T。,P。——标准状态下氨气得温度[K]与压强[mmHg] T 1 ,P 1 ——氨气流量计上标明得温度[K]与压强[mmHg] T 2 ,P 2 ——实验所用氨气得温度[K]与压强[mmHg] ——标准状态下氨气得密度(=0。769kg/m 3)—-标准状态下空气得密度(=1.293kg/m 3)
对空气:
(6)式中:V 2 ——空气流量计读数[m 3 /h] T。,P。——标准状态下空气得温度[K]与压强[mmHg] T 3 ,P 3 ——空气流量计上标明得温度[K]与压强[mmHg] T 4 ,P 4 ——实验所用空气得温度[K]与压强[mmHg] Y 1 也可用取样分析法确定(略).2、Y 2 值分析计算 在吸收瓶内注入浓度为 N S 得H 2 SO 4 V S [ml],把塔顶尾气通入吸收瓶中。设从吸收瓶出口得空气体积为 V 4 [ml]时瓶内 H 2 SO 4 Vs即被 NH 3 中与完毕,那么进入吸收瓶得 NH 3 体积 V o3 可用下式计算:
(7)
通过吸收瓶空气化为标准状态体积为:
(8)
式中:V 4 —-通过吸收瓶空气体积[ml],由湿式气量计读取 T。,P.-—标准状态下空气得温度[K]与压强[mmHg] T 5 ,P 5 ——通过吸收瓶后空气得温度[K]与压强[mmHg] 故塔顶气相浓度为:
(9)3、塔底X 1 ~Y* 1 得确定 由式(2)知: ,若 X 2 =0,则得:
(10)X 1 值亦可从塔底取氨水分析而得。设取氨水 V N `[ml],用浓度为 N S `得 H 2 SO 4来滴定,中与后用量为 V S `[ml],则:
(11)又根据亨利定律知,与塔底X 1 成平衡得气相浓度 Y 1 *为:
(12)
式中:P—-塔底操作压强绝对大气压(atm)E——亨利系数大气压,可查下表取得: 液相浓度5% 以下得 得 E 值 表2-2—7—1 t(℃)
E(大气压)0、293 0、502 0、778 0、947 1、25 1、94 或用下式计算:
(13)4、塔顶得 X 2 ~Y 2 *得确定 因用水为吸收剂,故 X 2 =0 ,所以Y 2 *=0 5、吸收平均推动力ΔY m
(14)6、吸收效率η
(15)
四、实验流程简介: 吸收装置如图 2-2-7-3 所示,塔径为 110(mm),塔内填料有一套为塑料阶梯环,其它为瓷拉西环,均为乱堆.填料层高为600-700(mm)(请自量准确)。氨气由氨瓶 1 顶部针形阀放出,经减压阀2到达缓冲缺罐 3,用阀 4 调节流量,经温度计 23,表压计 5 与流量计 6 分别测量温度、压力与流量后到达混合管。空气经风机 7 压送至缓冲罐 9,由旁路阀 8 与调节阀11 调节风量,经温度计 23,表压计10 与流量计12 分别测量温度、压力与流量后到达混合管与氨气混合,后被送进吸收塔 13 得下
部,通过填料层缝隙向上流动。吸收剂(水)由阀 16 调节,经流量计 17 测定流量后从塔顶喷洒而下。在填料层内,下流得水滴与上流得混合气接触,氨被水吸收变氨水从塔底排出,氨水温度由温度计 23 测定,塔顶表压与填料层压降由压差计 14 与 15测定.从塔顶排出含有微量氨得空气成为尾气从阀18排出大气中,分析尾气含氨量就是用旋塞19 取样,先从三角瓶20 除去水分,后经吸收瓶21 分析氨,气量计22 计量取出空气量。
五、实验方法:
(一)测压降与空塔气速步骤 1、测定干塔压降(1)打开旁路阀8,关闭空气流量调节阀 11,启动风机 7,慢慢打开阀 11使风量由零至最大,同时观察压差计15得读数变化。
(2)从流量计 12 得量程范围拟定 6~8 组读数。调节风量由大至小,同时读取空气流量及塔压降值。
2、测定湿塔压降 (1)把风量开至最大,慢慢打开阀16使水从塔顶喷淋而下,观察填料层上得液泛情况及压差计 15 得读数变化。
(2)调节风量水量使液泛层高度 20~30mm左右,记下水流量及压差计读数。
(3)保持水量不变,调节风量由大至小,测取 6~8 组风量及塔压降读数。
最后,读取气温、水温及填料层高度,记下塔内径数值。
(二)测吸收系数步骤 1、全开旁路阀8,关闭空气流量调节阀11,启动风机 7,慢慢打开阀 11 使风量由零至最大,同时观察压差计 15 得读数变化。
2、在吸收瓶内置入已知浓度得 H 2 SO 4 1ml 及 2 滴甲基红,加适量蒸馏水摇匀后装于尾气分析管路上.关闭取样旋塞 19,记下湿式气量计原始读数。
3、将水流量计 17及空气流量计 12(采用旁路调节法)调到指定读数。
4、关闭氨气缓冲罐上得氨气流量调节阀 4,松开减压阀旋钮,打开氨瓶上得总阀,然后,慢慢拧紧减压阀旋钮把氨气引进缓冲罐 3,待罐上压力表读数达0、05MP左右时,停止转动减压阀旋钮,慢慢打开调节阀 4,把氨气送进混合管。
5、待塔得操作稳定后(不液泛,不干塔,各仪表读数稳定),记录各仪表读数,
同时进行塔顶尾气分析。
6、尾气分析方法就是打开取样旋塞 19,使尾气成泡状通过吸收瓶液层,至瓶内液体得红色变淡黄色为止,即关闭旋塞,记下气量计读数。(8分)7、保持空气与水流量不变,改变氨气流量,重复上述操作一次。
8、实验完毕,先关氨瓶上得总阀,待氨气缓冲罐上压力表读数为 0 后,再关闭氨气缓冲罐上得氨气流量调节阀 4,然后,全开旁路阀 8,同时关闭空气流量调节阀11,最后停风机与关水阀,清洗吸收瓶.1、氨瓶
2、减压阀
3、氨缓冲罐
4、氨气调节阀
5、氨表压计
6、氨转子流量计 7、叶氏风机
8、空气旁路阀
9、空气缓冲罐 10、空气表压计
11、空气调节阀
12、空气转子流量计
13、吸收塔
14、塔顶表压计
15、塔压降压差计
16、水调节阀
17、水转子流量计
18、尾气调节阀
19、取样旋塞
20、分离水三角瓶
21、吸收瓶
22、湿式气量计
23、温度计 图2-2—7-3
吸收装置流程图 六、原始数据记录表:
(见下页)
七、数据处理表:
0、367 0、367
9、460 9、441
0、194 0、194
5819、308 13723、371
0、0380 0、0381
0、0000334 0、0000142
0、00305 0、00204
1、232 1、234
0、00193 0、00128
0、00516 0、00468
99、912% 99、963%
501、128 554、192
0、0169 0、0170 八、举例计算:
以第一组数据为例计算: :
367.0295 293783 760769.0293.17602733.02 12 10102001 01 T TP PPTV V
因、,所以
因、,所以 00305.0 0000334.0 0380.0556.5446.0)(2 1 1 Y YLVX
又,所以
00516.00000334.000193.0 0380.0ln0000334.0 00193.0 0380.0ln)(21 12 1 1 YY YY Y YY m
% 912.99 % 1000380.00000334.0 0380.0% 10012 1 YY Y
128.50100516.0100069000950.00000334.0 0380.0 446.0)(2 1 mYaY HY Y VK
同理,课求得其它组数据。
果蝇杂交实验实验报告 篇5
学号:
班级:
日期:
****年**月**日 果蝇得杂交实验
一、实验目得
1、了解伴性遗传与常染色体遗传得区别; 2、进一步理解与验证伴性遗传与分离、连锁交换定律;3、学习并掌握基因定位得方法、二、实验原理
红眼与白眼就是一对相对性状,控制该对性状得基因位于 X 染色体上,且红眼对白眼就是完全显性。当正交红眼雌蝇与白眼雄蝇杂交时,无论雌雄均为红眼;反交时雌蝇都就是红眼,雄蝇都就是白眼。
三、实验材料与器具
野生型雌蝇雄蝇,突变型雌蝇雄蝇、放大镜、麻醉瓶、毛笔、超净台、乙醚、酒精棉球、酵母、玉米粉、丙酸、蔗糖、琼脂
四、实验流程
配培养基→选处女蝇→杂交(正交,反交)→观察F1
五、实验步骤
1、配培养基
2、选处女蝇
在超净台上选取野生型与突变型得雄蝇雌蝇
3、杂交
(1)正交
取红眼雌蝇 5 个与白眼雄蝇 4 个,放入培养瓶中(♀)红眼()×(♂)白眼()(2)反交
取红眼雌蝇3个与白眼雄蝇 4 个,(♀)白眼()×(♂)红眼()
贴上标签,放于恒温箱饲养 4、观察并记录
分别将正反交得F1 代用乙醚麻醉,倒在白纸上,分别数红白眼得雌蝇与雄蝇,记录数据。
六、实验结果与分析
在正交实验中,F1 代雌雄硬都就是红眼;在反交实验中,雌性都就是红眼,雄性都就是白眼,但也出现了个不该出现得雌性白眼
分析:在伴性遗传中,也有个别例外产生,这就是由于2条X不分离造成得,F1 中出现得不该出现得雌性白眼,但就是这种情况极为罕见。
七、注意事项
要经常观察,如果培养瓶内有生霉得,必须将果蝇转移到干净得培养瓶中 F1代幼虫出现即可将亲本放出或处死 要严格控制温度,偏高得温度或者偏低得温度都可能引起果蝇得
死亡 亲本必须就是处女蝇,其原因就是雌蝇生殖器官有受精囊,可以保存交配所得得大量精子,能使交配后卵巢产生得卵受精。在杂交时若不就是处女蝇,其体内已储有另一类型雄蝇得精子,会严重影响实验结果,导致整个实验失败。
在 F1 代羽化前,一定要将亲本全部清除干净并处死,以免出现回交现象,影响结果 果蝇得麻醉要适当,掌握好麻醉时间,麻醉过度会使果蝇直接死亡 取果蝇得时候用毛笔,避免用其她锋利得器具,避免戳伤果蝇,影响生长繁育 八、个人总结
交换机实验 实验报告 篇6
1.理解掌握环路对网络造成的影响,掌握环路的自检测的配置; 2.理解路由的原理,掌握三层交换设备路由的配置方法 3.掌握DHCP的原理以及其配置方法
实验步骤
配置交换机的IP地址,及基本的线路连接等; 实验1:
①.用独立网线连接同一台交换机的任意两个端口时期形成自环
②.对交换机的两个端口进行配置,开启所有端口的环路检测功能、设置检测周期等属性 实验2:
①.按图1方式对三层交换机的VLAN、端口进行配置
②.在交换机中分别对VLAN的IP地址进行配置
③.启动三层交换机的IP路由
④.设置PC-A、PC-B的IP地址,分别将它们的网关设置为所属三层交换机VLAN的IP地址
⑤.通过Ping验证主机A、B之间的互通状况 实验3:
三层交换机作为DHCP服务器,两台PC-A和PC-B,分别从交换机上获取IP地址。PC-C手动配置IP地址。
①.按图2方式建立主机A、B、C与三层交换机间的连接,配置交换机的IP地址
②.配置三层交换机的DHCP地址池属性
③.启动DHCP服务
④.(1)查看主机A、B能否正确的获取到给定范围内IP地址,通过Ping查看网关、交换机之间的互通情况;(2)拔掉主机B的网线,将主机C的IP地址设置为主机B所获取的到的IP地址,然后再插上B机网线,查看其是否能获取到不同的IP地址;(3)分别重启主机A、B及交换机,查看A、B获取到的IP地址是否和前一次相同。
图1.三层路由连接图
图2.DHCP连接图
实验结果
实验1:环路测试
交换机出现环路的自检测结果:
实验2:路由配置:
主机A连接交换机端口2,划分为vlan10,端口IP地址为192.168.1.1。主机IP地址192.168.1.23;
主机B连接交换机端口10,划分为vlan20,端口IP地址为192.168.2.1。主机IP地址192.168.2.27;
在未设置IP routing之前主机A、B分属于不同网段,因此它们不能互通,设置后通过路由则可相互联通:
实验三:DHCP配置和验证:
主机A、B、C分别连接到交换机的端口2,端口18和端口10上。其中主机A、B的IP地址自动获取,主机C的IP地址则手动配置。
主机A通过DHCP获取的IP地址(192.168.1.211)
主机B通过DHCO获取到的IP地址(192.168.1.210)
测试主机A与主机C的互通性(可连通)
测试主机B与主机A、C之间的互通性(可连通)
当主机C配置为主机B获取到的IP地址是会产生IP地址冲突的错误提示:
配置的主机C的IP地址与主机B的IP地址相冲突
主机B网线重新连接后获取到的新的IP地址
交换机重新启动后A、B主机自动获取到的IP地址信息:
主机A自动获取的IP地址
主机B自动获取的IP地址
DHCP可分配IP地址池内IP数目小于申请的主机数目时实验验证情况:(可分配的IP地址为192.168.1.210 — 192.168.1.212),此时连接主机A、B、C、D。
主机D自动获取IP地址的结果
实验与结果分析
环路问题:
分为第二层环路和第三层环路,所有环路的形成都是由于目的路径不明确导致混乱而造成的。例如第二层,一个广播信息经过两个交换机的时候会不断恶性循环的产生广播造成环路,而第三层环路则是原路由意外不能工作,造成路由通告错误,形成一个恶性循环。传统的二层预防技术主要有STP(Spanning tree)来预防,STP在不断的修改和更新中,产生了诸如STP/RSTP/MSTP等多个版本,大家可根据各自的组网规划来选择应用,但是STP的配置复杂度,以及协议本身的开销通常都是网络管理人员比较头痛的事情。
解决因环路(自环或外环)对网络造成的影响,能够提高网络的自检错性、容错性和健壮性。环路检测的过称为:对交换机的每个端口周期性的发送回路检测(Loopback-detection)数据包;交换机查看端口收到包的CPUMAC字段,如果其中存的是本交换机的MAC,则本交换机的某些端口形成环路,否则将其丢弃,出现环路后,交换机会关闭端口号较大的端口以消除环路。图1中反映了在交换机开启所有端口的环路检测功能后每隔30秒检测到的信息以及对端口的关闭等操作信息。
三层路由意义和工作过程: 实现不同VLAN间主机的通信,通过配置VLAN能够有效地控制广播域的大小。在同一VLAN内的主机间的通信不需要经过交换机的路由处理可直接到达目的主机,当不同VLAN间通讯时,数据包先转发至路由器,由路由器查询其路由转发表选择正确的端口间数据包转发到目的VLAN的交换机,再由目的VLAN内交换机将数据包转发至目的主机。其中扮演主要角色的即为交换机的路由功能,如果没有设置相关属性则不同VLAN间不能通讯。
因此在图3的验证实验中,通过路由器的转发功能实现了分别位于VLAN10和VLAN20中主机A、B之间的通信,在未配置IP Routing之前VLAN10和VLAN20分属不同网段(A、B也属于不同网段),因此不能实现通信,配置之后路由器(三层交换设备)可通过内部路由转发表实现数据的转发和通信。
DHCP工作过程与实验分析:
即动态主机配置协议(Dynamic Host Configuration Protocol),是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,是使内部网络管理员能够集中管理(从中心结点监控)和自动分配IP 网络地址的通信协议。当某台计算机移到网络中的其它位置时,能自动收到新的IP 地址。DHCP 服务器从地址池中为客户端选择并分配IP 地址及其他相关参数当作为DHCP服务器的设备收到客户端发来的DHCP 请求时,将从地址池中挑选一个空闲的IP 地址。
DHCP工作过程:
当 DHCP客户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 数据设定,它会向网络发出一个 DHCP DISCOVER封包(广播包)。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0,而目的地址则为 255.255.255.255,然后再附上 DHCP discover 的信息,向网络进行广播。如果都没有得到DHCP服务器的响应,客户端则会显示错误信息,宣告 DHCP discover 的失败。之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 DHCP discover 的过程。
当 DHCP服务器监听到客户端发出的 DHCP discover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP,连同其它 TCP/IP 设定,响应给客户端一个 DHCP OFFER封包。由于客户端在开始的时候还没有 IP 地址,所以在其 DHCP discover封包内会带有其 MAC 地址信息,并且有一个 XID 编号来辨别该封包,DHCP服务器响应的 DHCP offer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCP offer封包会包含一个租约期限的信息。
如果客户端收到网络上多台 DHCP 服务器的响应,只会挑选其中一个 DHCP offer 而已(通常是最先抵达的那个),并且会向网络发送一个DHCP request广播封包,告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。同时,客户端还会向网络发送一个 ARP封包,查询网络上面有没有其它机器使用该 IP 地址;如果发现该 IP 已经被占用,客户端则会送出一个 DHCPDECLINE 封包给 DHCP服务器,拒绝接受其 DHCP offer,并重新发送 DHCP discover 信息。事实上,并不是所有 DHCP客户端都会无条件接受 DHCP服务器的 offer,尤其这些主机安装有其它 TCP/IP 相关的客户软件。客户端也可以用 DHCP request 向服务器提出 DHCP 选择,而这些选择会以不同的号码填写在 DHCP Option Field 里面。
当 DHCP服务器接收到客户端的 DHCP request 之后,会向客户端发出一个DHCPACK 响应,以确认 IP 租约的正式生效,标志着一次DHCP的工作过程完成。
图4—6反映了主机A、B通过自动获取IP地址方式由三层交换机动态分配IP后,各自得到的IP地址,由于A、B、C连接与同一台交换设备上,由没有VLAN划分等因素,所以它们之间不论是自动获取IP地址还是手动配置IP地址(不冲突的前提下)都能相互连通。当为主机C配置成已得到自动分配IP地址的主机B的IP地址时,自然会出现IP地址冲突的出错信息提示。当B网线重新链接时,相当于重新加入的客户端,交换机会从地址池中顺序选择下一个未分配的IP地址给新的请求用户。因此主机B会获得新新的IP地址,并且其值是主机C的IP地址的下一个邻接IP地址(在未超出可分配的IP地址范围条件下)。图7 —10中反映了上述描述的结果。
MATLAB上机实验实验报告 篇7
一、实验目得 初步熟悉 MATLAB 工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。
命令窗口 二、实验内容(1)熟悉MATLAB平台得工作环境.(2)
熟悉MATLAB 得5 个工作窗口。
(3)MATLAB 得优先搜索顺序.三、实验步骤 1、熟悉MATLAB 得5 个基本窗口 ① mand Window(命令窗口)
② Workspace(工作空间窗口)
③ mand History(命令历史记录窗口)
④ Current Directory(当前目录窗口)
⑤ Help Window(帮助窗口)
(1)命令窗口(mand Window)。
在命令窗口中依次输入以下命令:
>〉x=1 〉> y=[1 2 3
4 5 68 9]; 〉> z1=[1:10],z2=[1:2:5]; >> w=linspace(1,10,10); >〉 t1=ones(3),t2=ones(1,3),t3=ones(3,1)〉〉 t4=ones(3),t4=eye(4)x =1 z1 =
3
9t1 =
1
1
t2 =
1
t3 =
1 t4 =
1
1
1
t4 =
1
0
0
0
0
0
0
0
0
0
0
0
0
思考题: ①
变量如何声明, , 变量名须遵守什么规则、就是否区分大小写。
答:(1)变量声明
1、局部变量 每个函数都有自己得局部变量,这些变量只能在定义它得函数内部使用。当函数运行时,局部变量保存在函数得工作空间中,一旦函数退出,这些局部变量将不复存在。
脚本(没有输入输出参数,由一系列MATLAB命令组成得M文件)没有单独得工作空间,只能共享调用者得工作空间。当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中. 2、全局变量 在函数或基本工作空间内,用global声明得变量为全局变量。例如声明a为全局变量:
>〉global a 声明了全局变量得函数或基本工作空间,共享该全局变量,都可以给它曲赋值。
如果函数得子函数也要使用全局变量,也必须用global声明.3、永久变量 永久变量用persistent声明,只能在M文件函数中定义与使用,只允许声明它得函数存取.当声明它得函数退出时,MATLAB不会从内存中清除它,例如声明a为永久变量: 〉〉persistent a(2)变量命名规则如下: :
始于字母,由字母、数字或下划线组成;区分大小写;可任意长,但使用前N个字符.N与硬件有关,由函数namelengthmax返回,一般N=63; 不能使用关键字作为变量名(关键字在后面给出); 避免使用函数名作为变量名.如果变量采用函数名,该函数失效.(3)区分大小写
②
试说明分号、逗号、冒号得用法。
答:分号:加上分号“;“其作用就是将计算机结果存入内存,但不显示在屏幕上,反之,语句结尾若不加“;”,则表示在语句执行后,在将计算结果存入内存得同时,还将运算结果显示出来.逗号:分割列表
冒号:从什么到什么,比如1:10意思就是——1到10 ③ ③
l inspace())
称为“线性等分”函数, , 说明它得用法。可使用help命令,格式如下:
>>help linspace
④
数 说明函数 ones())、、zero s()、eye()得用法。
答;(1)ones()函数:全部元素都为 1 得常数矩阵;(2)zeros()函数:全部元素都为 0 得矩阵;(3)eye()函数:单位矩阵;
(4)linspace()函数:如 a=linspace(n1,n2,n3),表示在线性空
间上,行矢量得值从 n1 到 n2(2)工作空间窗口(Workspace). 单击工作空间窗口右上角得按钮,将其从MATLAB 主界面分离出来。
① 在工作空间查瞧各个变量,或在命令窗口用who, whos(注意大小写)查瞧各个 变量。
② 在工作空间双击变量,弹出Array Editor 窗口(数组编辑器窗口),即可修改变量。
③ 使用save 命令把工作空间得全部变量保存为my_var、mat 文件。
〉〉save my_var、mat
④ 输入下列命令: 〉〉clear all %清除工作空间得所有变量
观察工作空间得变量就是否被清空。使用load 命令把刚才保存得变量载入工作空间。
>〉load my_var、mat
⑤ 清除命令窗口命令: >〉clc(3)历史命令窗口(mand History)。
打开历史命令窗口,可以瞧到每次运行MATLAB 得时间与曾在命令窗口输入过得命 令,练习以下几种利用历史命令窗口重复执行输入过得命令得方法。
① 在历史命令窗口中选中要重复执行得一行或几行命令,右击,出现快捷菜单,选择 Copy,然后再Paste 到命令窗口。
② 在历史命令窗口中双击要执行得一行命令,或者选中要重复执行得一行或几行命令 后,用鼠标将其拖动到命令窗口中执行。
③ 在历史命令窗口中选中要重复执行得一行或几行命令,右击,出现快捷菜单,选择 Evaluate Selection,也可以执行。
④ 或者在命令窗口使用方向键得上下键得到以前输入得命令。例如,按方向键“↑” 一次,就重新将用户最后一次输入得命令调到MATLAB 提示符下。重复地按方向上键 “↑”,就会在每次按下得时候调用再往前一次输入得命令。类似地,按方向键“↓”得时 候,就往后调用一次输入得命令.按方向键“←“或者方向键“→”就会在提示符得命令 中左右移动光标,这样用户就可以用类似于在字处理软件中编辑文本得方法编辑这些命令。
(4)
当前目录命令窗口(Current Directory).MATLAB 得当前目录即就是系统默认得实施打开、装载、编辑与保存文件等操作时得文 件夹。打开当前目录窗口后,可以瞧到用“save”命令所保存得my_var、mat 文件就是保存在 目录C:MATLAB6p5work 下。
(5)帮助窗口(Help Window)。
单击工具栏得图标,或选择菜单View|Help,或选择菜单Help|MATLAB Help 都能 启动帮助窗口。
① 通过Index 选项卡查找log2()函数得用法,在Search index for 栏中输入需要查找得 词汇“log2”,在左下侧就列出与之最匹配得词汇条目,选择“log2[1]”,右侧得窗口就 会显示相应得内容。
② 也可以通过Search 选项卡查找log2()函数得用法.Search 选项卡与Index 选项卡 不同,Index 只在专用术语表中查找,而Search 搜索得就是整个HTML 帮助文件。
2、MATLAB 得数值显示格式设置 屏幕显示方式有紧凑(pact)与松散(Loose)两种,其中Loose 为默认方式.>〉a=ones(1,30)
〉>format pact
〉〉a 数字显示格式有short、long、short e、long e 等,请参照教材得列表练习一遍。
〉〉format long >>pi
〉〉format short >〉pi
〉>format long 〉〉pi
>>format + 〉〉pi
〉>—pi
3、变量得搜索顺序 在命令窗口中输入以下指令:
>>pi
〉>sin(pi);
>>exist(’pi”)
〉>pi=0;>〉exist(’pi“)
>〉pi
〉〉clear pi 〉>exist('pi’)>>pi
思考题:① 3 次执行exist(’pi’)得结果一样吗?如果不一样,试解释为什么? 答:不一样,pi原来就是库存函数,但就是如果被赋值则系统默认被赋予得值为pi后来得值,但就是当执行clear pi之后所赋得值被清空,因此pi得值又成为3、1416 ② 圆周率 pi 就是系统得默认常量,为什么会被改变为 0? 答:pi原来就是库存函数,但就是如果被赋值则系统默认被赋予得值为 pi 后来得值,但就是当执行 clear pi之后所赋得值被清空,因此 pi 得值又成为3、1416
实验二
MA TLAB语言基础 一、实验目得 基本掌握 MATLAB 向量、矩阵、数组得生成及其基本运算(区分数组运算与矩阵运算)、常用得数学函数。交接字符串得操作.二、实验内容(1)向量得生成与运算。
(2)矩阵得创建、引用与运算。
(3)
多维数组得创建及运算。
(4)字符串得操作。
三、实验步骤 1、向量得生成与运算 1)
向量得生成 直接输入法: A =
>〉 B=[1;2;3;4;5]
B =
1
2
5 冒号生成发:
〉〉 A=1:2:10 ,B=1:10,C=10:—1:1
A =
3
5
7
B =
5
C =
10
8
4
1 函数法:
Linspace()就是线性等分函数,logspace()就是对数等分函数。
>〉 A=linspace(1,10),B=linspace(1,30,10)A =
Columns 1 through 91、0000
1、0909
1、1818
1、2727
1、3636
1、4545
1、5455
1、6364
1、7273
Columns 10 through 181、8182
1、9091
2、0000
2、0909
2、1818
2、2727
2、3636
2、4545
2、5455
Columns 19 through 272、6364
2、7273
2、8182
2、9091
3、0000
3、0909
3、1818
3、2727
3、3636
Columns 28 through 36
3、4545
3、5455
3、6364
3、7273
3、8182
3、9091
4、0000
4、0909
4、1818
Columns 37 through 454、2727
4、3636
4、4545
4、5455
4、6364
4、7273
4、8182
4、9091
5、0000
Columns 46 through 545、0909
5、1818
5、2727
5、3636
5、4545
5、5455
5、6364
5、7273
5、8182
Columns 55 through 63
5、9091
6、0000
6、0909
6、1818
6、2727
6、3636
6、4545
6、5455
6、6364
Columns 64 through 72
6、7273
6、8182
6、9091
7、0000
7、0909
7、1818
7、2727
7、3636
7、4545
Columns 73 through 81
7、5455
7、6364
7、7273
7、8182
7、9091
8、0000
8、0909
8、1818
8、2727
Columns 82 through 908、3636
8、4545
8、5455
8、6364
8、7273
8、8182
8、9091
9、0000
9、0909
Columns 91 through 999、1818
9、2727
9、3636
9、4545
9、5455
9、6364
9、7273
9、8182
9、9091
Column 100
10、0000
B =
Columns 1 through 91、0000
4、2222
7、4444
10、666713、8889
17、1111
20、333323、555626、7778
Column 1030、0000 >> A=logspace(0,4,5)A =
1
10
100
1000
10000 练习:
使用 logspace()创建1—4得有 10 个元素得行向量。
答案:
>〉 A=logspace(1,10,4*pi)
A =1、0e+010 *
Columns 1 through 9
0、0000
0、0000
0、0000
0、0000
0、0000
0、0000
0、0001
0、0005
0、0035
Columns 10 through 120、0231
0、1520
1、0000 2)向量得运算 维数相同得行向量只见可以相加减,维数相同得列向量也可以相加减,标量可以与向量直接相乘除。
〉〉 A=[1 2 3 4 5],B=3:7,A =
4
B =
7
>〉 AT=A”,BT=B“, AT =
BT =
6
>〉 E1=A+B, E2=A-B
E1 =
6
10E2 =
—2
—2
—2
〉〉 F=AT—BT, F =
-2
—2
〉〉 G1=3*A, G2=B/3, G1 =
12
15
G2 =1、0000
1、3333
1、6667
2、0000
2、3333 向量得点积与叉积运算。
〉〉 A=ones(1,10);B=(1:10); BT=B”;>> E1=dot(A,B)
E1 =
55
〉〉 E2=A*BT
E2 =
〉〉 clear >> A=1:3,B=3:5,A =
3
B =
〉〉 E=cross(A,B)
E = -2
—2 2.矩阵得创建、引用与运算
1)矩阵得创建与引用
矩阵就是由元素构成得矩阵结构,行向量与列向量就是矩阵得特殊形式。
直接输入法:
〉〉 A=[1 2 3;4 5 6]
A =
1
3
4
6
〉〉 B=[ 1 4 75 86 9 ] B =
1
7
8
〉> A(1)
ans =〉〉 A(4:end)
ans =
6 〉〉 B(:,1)ans =
2〉> B(:)ans =
1
8>〉 B(5)
ans =抽取法 〉> clear 〉> A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16] A =
3
4
10
12
13
16 >〉 B=A(1:3,2:3)
B =
6
10
11 〉> C=A([1 3],[2 4])
C =
10
12 〉〉 A([1 3;2 4])ans =
9
5 函数法: 〉〉 A=ones(3,4)A =
1
1
>〉 B=zero(3)
??? Undefined function or method “zero’ for input arguments of type ”double’、>> B=zeros(3)B =
0
0
0
0
0
0
0
0
0 >> C=eyes(3,2)??? Undefined function or method “eyes’ for input arguments of type ”double’、〉> C=eye(3,2)C =
0
0
0
0 >> D=magic(3)D =
6
拼接法 〉〉 clear 〉> A=ones(3,4)A =
1
1
1
1
>〉 B=zeros(3)
B =
0
0
0
0
0
0
0
0
0 >〉 C=eye(4)C =
0
0
0
0
0
0
0
0
0
0
0
0
>〉 D=[A B] D =
1
0
0
0
0
0
0
0
0
0 >〉 F=[A;C] F =
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
拼接函数与变形函数法:
〉〉 clear 〉> A=[0 1;1 1] A =
0
1
1
〉> B=2*ones(2)
B =
2
>> cat(1,A,B,A)ans =
0
1
1
2
2
0
>〉 cat(2 A,B,A)
??? cat(2 A,B,A)Error: Unexpected MATLAB expression、>〉 cat(2,A,B,A)ans =
0
1
0
1
2
2
1
1 >〉 repmat(A,2,2)ans =
0
1
0
1
1
1
0
0
1
1
1
〉> repmat(A,2)ans =
0
0
1
0
1
0
1
练习:使用函数法、拼接法、拼接函数法与变形函数法,按照要求创建以下矩阵:A 为
得全1矩阵、B 为得 0 矩阵/C 为得单位矩阵、D 为得魔方阵、E 由 C
与D纵向拼接而成,F 抽取 E 得2—--5 行元素生成、G 由 F 经变形为得矩阵而得、以 G 为子矩阵用复制函数(repmat)生成得大矩阵H。
答案 :
>〉 A=ones(3,4)
A =
1
1
1
1 〉〉 B=zeros(3,3)B =
0
0
0
0
0
0
0
0
0 >〉 C=eye(3)
C =
1
0
0
0
0
0
0
>〉 D=magic(3)D =
5
4
>> E=[C;D] E =
1
0
0
0
0
0
0
8
〉〉 F=(2:5,:)??? F=(2:5,:)Error: Expression or statement is incorrect—-possibly unbalanced(, {, or [、>〉 F=E(2:5,:)F =
0
0
0
0
〉〉 G=respace(E,3,4)
??? Undefined mand/function “respace’、〉>
G=respace(F,3,4)
??? Undefined mand/function ”respace“、〉> G=reshape(F,3,4)
G =
0
0
1
6
0
0
〉〉 H=repmat(G,2,2)H =
0
0
0
5
0
8
0
0
7
0
0
0
3
1
0
1
0
0
1
0
0
0
0
2)矩阵得运算 矩阵得加减、数乘与乘法
已知矩阵: >> A=[1 2
-1], A =
-1 >〉 B=[-1 0
2] B =
0
>〉 A+B ans =
0
4
1 〉〉 2*A ans =
4
-2 >〉 2*A-3*B ans =
-8 〉〉 A*B ans =
4-4
—2 矩阵得逆矩阵 〉〉 format rat;A=[1 0 1;2 1 2;0 4 6] A =
1
0
0
>> A1=inv(A)A1 =
—1/3
2/3
-1/6
-2
1
0
4/3
-2/3
1/6
>〉 A*A1
ans =
0
0
0
0
0
0
矩阵得除法 >〉 a=[1 2 1;3 1 4;2 2 1],b=[1 1 2],d=b’ a =
1
3
2
b =
1
d =
1
1
>> c1=b*inv(a),c2=b/a c1 =
6/7
3/7
-4/7
c2 =
6/7
3/7
-4/7
>> c3=inv(a)*d, c4=ab c3 =
2/7
-4/7
??? Error using ==〉 mldivide Matrix dimensions must agree、>〉 c3=inv(a)*d,c4=ad c3 =
2/7
-4/7
c4 =
2/7
-4/7
练习: 按下列要求求出各种得矩阵运算得值
求矩阵得秩、特征值与特征向量、矩阵得乘幂与开方;
矩阵得指数与对数
矩阵得提取与翻转 答案:
〉〉 A=[6 3
4 3
—2 5 7 —4
8-1 —3 —7] A =
6
-4
-1
—3
—7 〉> B=rank(A)B =〉> rb=rank(A)
rb =>> [X,Lamda]=eig(A)
??? Error using ==〉 eig Matrix must be square、〉〉 [X,Lamda]=eigs(A)??? Error using ==〉 eigs A must be a square matrix or a function which putes A*x、〉〉 C=[6 3 4
-2 5 7
—1-3] C =
4
—2
8
—1
—3 >> [X,Lamda]=eigs(C)
X =0、8013
-0、1094
-0、1606
0、3638
—0、6564
0、86690、4749
0、7464
-0、4719 Lamda =9、7326
0
0
0
-3、2928
0
0
0
1、5602 〉〉 [X,Lamda]=eig(C)
X =
0、8013
—0、1094
—0、16060、3638
—0、6564
0、86690、4749
0、7464
-0、4719 Lamda =9、7326
0
0
0
-3、2928
0
0
0
1、5602 〉> [X,Lamda]=eig(C)
X =
0、8013
—0、1094
-0、1606
0、3638
—0、6564
0、8669
0、4749
0、7464
—0、4719 Lamda =9、7326
0
0
0
—3、2928
0
0
0
1、5602 〉> D=A^2 ??? Error using ==> mpower Matrix must be square、〉> D=C^2 D =
33
34
〉〉 E=sqrtm(C)E =
2、2447 + 0、2706i0、6974 — 0、1400i0、9422-0、3494i
-0、5815 + 1、6244i
2、1005-0、8405i
1、7620-2、0970i
1、9719 - 1、8471i
-0、3017 + 0、9557i
0、0236 + 2、3845i >> F=expm(C)F =
1、0e+004 *
1、0653
0、5415
0、6323
0、4830
0、2465
0、2876
0、6316
0、3206
0、3745 〉〉 G=logm(C)Warning: Principal matrix logarithm is not defined for A with
nonpositive real eigenvalues、A non-principal matrix
logarithm is returned、〉 In funm at 153
In logm at 27 G =
1、7129 + 0、4686i0、5305-0、2425i0、5429-0、6049i
1、1938 + 2、8123i0、3658 — 1、4552i
—0、5514-3、6305i
-0、0748 - 3、1978i
0、7419 + 1、6546i1、8333 + 4、1282i >> H=fliplr(C)H =
5
-2
—1
>> I=triu(C)I =
0
0
0
-3 〉〉 J=tril(C)
J =
0
0
-2
0
-3 >> K=diag(C)K =
6-3 3.多维数组得创建及运算 1)多维数组得创建 >〉 A1=[1,2,3;4 5 6;7,8,9];A2=reshape([10:18],3,3)A2 =
10
13
16
14
17
12
15〉〉 T1(:,:,1)=ones(3);T1(:,:,2)=zeros(3)T1(:,:,1)
=
1
1
1
T1(:,:,2)=
0
0
0
0
0
0
0
0
0 〉> T2=ones(3,3,2)
T2(:,:,1)=
1
1
1 T2(:,:,2)=
1
1
1 >> T3=cat(3,A1,A2),T4=repmat(A1,[1,1,2])
T3(:,:,1)=
T3(:,:,2)=
10
13
16
17
15T4(:,:,1)
=
2
6
8
T4(:,:,2)=
7
8
2)多维数组得创建
数组运算用小圆点加在运算符得前面表示,以区分矩阵得运算。特点就是两个数组相对应得元素进行运算。
〉〉 A=[1:6];B=ones(1,6);>> C1=A+B,C2=A—B C1 =
2
C2 =
0
3
>> C3=A、*B,C4=B、/A,C5=A、B C3 =
6 C4 =
1、0000
0、5000
0、3333
0、2500
0、2000
0、1667 C5 = 1、0000
0、5000
0、3333
0、2500
0、2000
0、1667
关系运算或逻辑运算得结果都就是逻辑值.>〉 I=A〉3,C6=A(I)
I =
0
0
0
1
1 C6 =
4
6 〉〉 A1=A-3,I2=A1&A A1 =
—2
—1
0
2
I2 =
1
1
0
1
〉〉 I3=~I I3 =
1
0
0
0 4.字符串得操作 1)字符串得创建
>〉 S1=”Ilike MATLAB’ S1 = Ilike MATLAB >> S2=“I'’m a stuent、” S2 = I“m a stuent、〉> S3=[S2,”and’,S1] S3 = I“m a stuent、andIlike MATLAB 2)求字符串长度 〉〉 length(S1)ans =>> size(S1)ans =
13)字符串与一维数值数组得相互转换 >> CS1=abs(S1)CS1 =
101
32
65
84
66 〉> CS2=double(S1)CS2 =
108
105
101
32
77
65
76
>> char(CS2)
ans = Ilike MATLAB >> setstr(CS2)
ans = Ilike MATLAB 练习:用char()与向量生成得方法创建如下字符串AaBbCc、、、、、、XxYyZz、〉> S1=65:90;S2=97:122;〉〉 C=[S1;S2];>>
C=C(:)’;〉>
S3=double(C);char(S3)ans = AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 实验三
MAL TAB B 数值运算 一、实验目得
掌握 MATLAB 得数值运算及其运算中所用到得函数,掌握结构数组与细胞数组得操作。
二、实验内容
1)
多项式运算。
2)
多项式插值与拟合。
3)
数值为积分。
4)
结构数组与细胞数组。
三、实验步骤
1、多项式运算
1)
多项式表示。在 MATLAB 中,多项式表示成向量得形式.如: 在 MATLAB 中表示为 >> s=[1 3-5 0 9] 2)
多项式得加减法相当于向量得加减法,但必须注意阶次要相同。如不同,低阶次得要补 0。如多项式与多项式相加。
〉> s1=[0 0 2 3 11] 〉〉 s2=[1 2 —5 4 7] 〉〉 s3=s1+s2 答;s1 =
0
0
3s2 =
—5
4
s3 =
—3
18 3)
多项式得乘、除法分别用函数 conv与得 deconv实现。
〉> s1=[2 3 11] >> s2=[1 3 —5 4 7] >〉 s3=conv(s1,s2)
>> s4=deconv(s3,s1)答;s1 =
11 s2 =
1
3
4
s3 =
—29
65
s4 =
1
7 4)
多项式求根用函数roots。
>〉 s1=[2 4 2] >> roots(s1)
答;s1 =
ans =
—1
5)
多项式求值用函数 polyval >> s1=[2 4 1-3] 〉〉 polyval(s1,3)
〉> x=1:10 〉〉 y=polyval(s1,x)答;s1 =
2
-3 ans =
90 x =
1
6
9
10 y =
Columns 1 through 8
193
352
579
886
1285
Columns 9 through 10 练习:求得“商”及余数.〉> s1=[1 0 1];s2=[1 3];s3=[1 1]; 〉> s4=[1 0 2 1]; >> [q,r]=deconv(conv(conv(s1,s2),s3),s4)答;q =
1
4 r =
0
0
-1 2、多项式插值与拟合 有一组实验数据如附表 1—1 所示。
附表 1-1 X 1 2 3 4 5 6 7 8 9 10 Y 16 32 7
1
分别用拟合(二阶至三阶)与插值(线性与三次样条)得方法来估算X=9、5 时 Y 得值。以下就是实现一阶拟合得语句。
〉> x=1:10 >〉 y=[16 32 70 142 260 436 682 1010 1342 1960] 〉> p1=polyfit(x,y,1)
%一阶拟合 >> y1=polyval(p1,9、5)
%计算多项式 P1 在x=9、5 得值 答;x =
2
9y =
Columns 1 through 8
32
70
142
260
436
682
1010
Columns 9 through 10
1342
1960 p1 =
200、9818 -510、4000 y1 =1、3989e+003 3、数值微积分
1)
差分使用 diff 函数实现。
>〉 x=1:2:9 〉〉 diff(x)答;x =
5
ans =
2 2)
可以用因变量与自变量差分得结果相处得到数值微分。
〉> x=linspace(0,2*pi,100);>〉 y=sin(x); >〉 plot(x,y)>〉 y1=diff(y)、/diff(x); 〉〉 plot(x(1:end-1),y1)答;
3)
cumsum 函数求累计积分,trapz 函数用梯形法求定积分,即曲线得面积。
〉〉 x=ones(1,10)
>> cumsum(x)>> x=linspace(0,pi,100); >> y=sin(x); 〉〉 trapz(x,y)〉> p=cumsum(y); >> p(100)*pi/(100—1)答;x =
1
1
ans =
9ans =
1、9998 ans =
1、9998 练习:图 A1就是瑞士地图,为了算出其国土面积,首先对地图作如下测量:以由西向东方向为 X 轴,由南向北方向为 Y 轴,选择方便得原点,并将从最西边界点到最东边界点在 X 轴上得区间适当划分为若干段,在每个分点得Y方向测出南边界点与北边界点得 Y 坐标Y1与 Y2,这样就得到表 1,根据地图比例尺回到18mm相当于 40Km,试由测量数据计算瑞士国土近似面积,与其精确值 41228 比较。地图得数据见附表 1—2(单位mm).附表 1—2 X 7 10、5 13 17、5 34 40、5 44、5 48 56 61 68、5 76、5 80、5 91 Y1 44 45 47 5
34 41 45 46 Y2 44 59 7
18 1 18 续表 X 96 101 104 106、5 111、5 118 123、5 1 36、5 142 146 150 157 158 Y1 43 37 33 28 32 65 55 54 52 50 66 66 68 Y2 121 124 1 21 1 21 121 116 1 22 83 81 82 86 85 68 提示:由高等数学得知识,一条曲线得定积分就是它与 x 轴所围成得面积,那么两条曲线所围成得面积可由两条曲线得定积分相减得到。、结构数组与细胞数组 1)
机构数组得创建. 〉> student、number=’20050731001’;〉〉 student、name=’Jack”;〉〉 student(2)、number=’20050731002’;〉〉 student(2)、name=’Lucy“; >> student 或者用 struct 函数创建。
>> student=struct(”number“,{’001”,“002’},”name',{'Jack’,“Lucy’});答;student =
1x2 struct array with fields:
number
name 2)
机构数组得操作。
〉> student(1)、subject=[]
%添加 subject 域并赋予空值 〉〉 student(1)、score=[] >〉(studeng)〉>fieldnames(studeng)
〉>fieldnames(student)
〉〉 getfield(student,{2},'name')〉〉 student=rmfield(student,”subject’)
%删除 subject 域 〉〉 student=setfield(student,{1},“score’,90);>> student(2)、score=88;
%比较与上一条语句就是否效果一样 答;student =
1x2 struct array with fields:
number
name
subject student =
1x2 struct array with fields:
number
name
subject
score ??? Undefined function or variable ’studeng’、练习:创建一结构数组stusorce,其域为:No,Name,English,Math,Chinese,Total,Average。结构数组得大小为 2×2。
3)
细胞数组得创建。
〉> A={’How are you!”,ones(3);[1 2;3 4],{“cell’}};
%直接创建
〉〉 B(1,1)={’Hello world”};
%由各个细胞元素创建
>> B(1,2)={magic(3)};
>〉 B(2,1)={[1 2 3 4]};答
或者用cell 函数先创建空得细胞数组,然后再给各个元素赋值 c=cell(1,2); >> c(1,1)={’Hello world’};>> c(1,2)={magic(3)}; 〉〉 c(1,3)={[1 2 3 4]}; 4)
细胞数组得操作。
〉> ans1=A(1,1)>> ans2=A(1,1)>〉 whos ans1 ans2 〉〉 celldisp(A)〉> a1=A{2,1}(1,2)>〉 [a2 a3]=deal(A{1:2})
答;ans1 =
’How are you!’ ans2 =
’How are you!’
Name
Size
Bytes
Class
Attributes
ans1
1x1
84
cell
ans2
1x1
84
cell
A{1,1} = How are you!
A{2,1} =
A{1,2} =
1
A{2,2}{1} = cell a1 =a2 = How are you!a3 =
1
2
实验四
MA LT AB B 符号运算
一、实验目得
掌握符号变量与符号表达式得创建,掌握MALTAB得symbol工具箱得一些基本运用。
二、实验内容
1)
符号变量、表达式、方程及函数得表示。
2)
符号微积分运算.
3)
符号表达式得操作与转换.4)
符号微分方程求解.三、实验步骤1、符号运算得引入
在数值运算中如果求,则可以不断让得让x趋近0,一球得表达式趋近什么数,但终究不能令 x=0,因为在数值运算中 0 不就是能作除数得。MATLAB得符号运算能解决这内问题。输入如下命令: 〉> f=sym(’sin(pi*x)/x')
>> limit(f,’x“,0)答;f = sin(pi*x)/x ans = pi 2 2、符号常量、符号变量、符号表达式得创建
1)
使用 sym()创建 输入以下命令,观察 Workspace 中 A、B、f就是什么内性得数据,占用多少字节得内存空间。
>〉 A=sym(”1’)
%符号常量 〉〉 B=sym(’x’)
%符号变量 >> f=sym(’2*x^2+3*x-1’)
%符号表达式 >> clear >> f1=sym(“1+2”)
%有单引号,表示字符串 >〉 f2=sym(1+2)
%无单引号 >〉 f2=sym(1+2)
〉> f4=sym(“2*x+3’)
%为什么出错 〉〉 x=1 〉〉 f4=sym(2*x+3)
答;A = 1 B = x f = 2*x^2+3*x-1 f1 = 1+2 f2 = 3 f2 = 3 f4 = 2*x+3 x =f4 = 5 通过瞧 MATLAB 得帮助可知,sym()得参数可以使字符串或就是数值类型,无论就是哪种类型都会生成符号类型数据。
2)
使用 syms创建 〉> clear >〉 syms x y z 〉> x,y,z 〉〉 f1=x^2+2*x+1 >〉 f2=exp(y)+exp(z)^2 >> f3=f1+f2 答;x = x y = y z = z f1 = x^2+2*x+1 f2 = exp(y)+exp(z)^2 f3 = x^2+2*x+1+exp(y)+exp(z)^2 3 3、符号矩阵创建
>〉 syms a1 a2 a3 a4 〉〉 A=[a1 a2;a3 a4] 〉> A(1),A(3)答;A = [ a1,a2] [ a3, a4] ans = a1 ans = a2 4 4、符号算术运算
1)
符号向量相乘、相除 符号量相成与数值量相乘一样,分成矩阵乘与数组乘。
〉> a=sym(5);b=sym(7); 〉> c1=a*b >〉 c2=a/b >> a=sym(5);B=sym([3 4 5]);>〉 C1=a*B,C2=aB >> syms a b >> A=[5 a;b 3];B=[2*a b;2*b a];〉> C1=A*B,C2=A、*B >〉 C3=AB,C4=A、/B 答;c1 =
35 c2 = 5/7 C1 = [ 15, 20, 25] C2 = [ 3/5, 4/5,1] C1 = [ 10*a+2*a*b,5*b+a^2] [
2*a*b+6*b,b^2+3*a] C2 = [
10*a,a*b] [ 2*b^2,3*a] C3 = [
2*a*(b—3)/(—15+a*b),(a^2-3*b)/(—15+a*b)] [
2*b*(a-5)/(-15+a*b), —(5*a-b^2)/(-15+a*b)] C4 = [ 5/2/a,a/b] [
1/2, 3/a] 2)
符号数值任意精度控制与运算 任意精度得 VPA 运算可以使用命令 digits(设定默认得精度)与vpa(对指定对象以新得精度进行计算)来实现。
>〉 a1=sym(’2*sqrt(5)+pi')
〉> a=sym(’2*sqrt(5)+pi’)〉〉 b=sym(2*sqrt(5)+pi)
>> digits >> vpa(a)>> digits(15)>〉 vpa(a)〉〉 c1=vpa(a,56)
〉〉 c2=vpa(b,56)
答 a1 = 2*sqrt(5)+pi a = 2*sqrt(5)+pi b = 8572296331135796*2^(-50)
Digits = 32 ans = 7、637263128 ans = 7、637 c1 = 7、6372631285535581572696
c2 = 7、6372726175781250000000 注意观察c1 与c2 得数值类型,c1 与 c2 就是否相等。
3)
符号类型与数值类型得转换 使用命令sym可以把数值型对象转换成有理数性符号对象,命令vpa可以讲数值型对象转换为任意精度得 VPA 型符号对象.使用 double,numeric 函数可以将有理数型与 VPA 型符号对象转换成数值对象、〉> clear >〉 a1=sym('2*sqrt(5)+pi’)
>〉 b1=double(a1)
%符号转数值 >> b2=isnumeric(b1)
%判断就是否转换成了数值 >> a2=vpa(a1,70)
%数值转符号 答;a1 = 2*sqrt(5)+pi b1 =7、6137 b2 =
1 a2 = 7、6372631285535589083128858 5 5、、符号表达式得操作与转换
1)独立变量得确定原则 独立变量得确定原则:在符号表达式中默认变量就是惟一得.MATLAB 会对单个英文小写字母(除 i、j外)进行搜索,且以 x 为首选独立变量。如果表达式中字母不唯一,且无 x,就选在字母表最接近x 得字母.如果有相连得字母,则选择在字母表中较后得那一个。例如:中,y 就是默认独立变量。,t 就是默认独立变量。
输入以下命令,观察并分析结果。
>> clear >〉 f=sym(”a+b+i+j+x+y+xz’)
>〉 findsym(f)
〉> findsym(f,1)>〉 findsym(f,2)>> findsym(f,3)
>〉 findsym(f,4)〉〉 findsym(f,5)>〉 findsym(f,6)答;f = a+b+i+j+x+y+xz ans = a, b, j,x,xz, y ans = x ans = x,xz ans =
x,xz,y ans = x,xz,y,j ans = x,xz,y,j,b ans = x,xz,y,j,b,a 2)符号表达式得化简 符号表达式化简主要包括表达式美化(pretty)、合并同类项(collcet)、多项式展开(expand)、因式分解(factor)、化简(simple或 simplify)等函数。
①合并同类项(collect)。分别按 x 得同幂项与e指数同幂项合并表达式: . 〉〉 syms x t; >〉 f=(x^2+x^exp(—t)+1)*(x+exp(-t));〉〉 f1=collect(f)〉〉 f2=collect(f,’exp(-t)“)答;f1 = x^3+exp(-t)*x^2+(x^exp(-t)+1)*x+(x^exp(-t)+1)*exp(-t)
f2 =(x^2+x^exp(-t)+1)*exp(-t)+(x^2+x^exp(—t)+1)*x ②对显示格式加以美化(pretty)。针对上例,用格式美化函数可以使显示得格式更符合数学书写习惯。
>〉 pretty(f1)>〉 pretty(f2)
答;f1 = x^3+exp(-t)*x^2+(x^exp(—t)+1)*x+(x^exp(—t)+1)*exp(-t)
f2 =(x^2+x^exp(-t)+1)*exp(-t)+(x^2+x^exp(—t)+1)*x >〉
pretty(f1)pretty(f2)
3
2
exp(-t)
exp(-t)
x
+ exp(—t)
x
+(x
+ 1)
x +(x
+ 1)exp(—t)
2
exp(—t)
exp(-t)
(x
+ x
+ 1)exp(-t)+(x
+ x
+ 1)x 注意与直接输出得 f1 与 f2 对比。
③多项式展开(expand)。展开成 x 不同次幂得多项式、〉> syms x 〉> f=(x—1)^12;〉> expand(f)〉〉 pretty(expand(f))
答;ans = 1+x^12-12*x^11+66*x^10—220*x^9+495*x^8—792*x^7+924*x^6-792*x^5+495*x^4-220*x^3+66*x^2—12*x
7
6
5
+ x
- 12 x
+ 66 x
— 220 x
+ 495 x
x
+ 924 x
- 792 x
+ 495 x
- 220 x
+ 66 x
- 12 x ④ 因式分解(factor)。将表达式做因式分解。
>> syms x;f=x^12—1; 〉> pretty(factor(f))
答;ans = 1+x^12—12*x^11+66*x^10—220*x^9+495*x^8-792*x^7+924*x^6—792*x^5+495*x^4—220*x^3+66*x^2-12*x
12
11
8
6
5
+ x
— 12 x
+ 66 x
— 220 x
+ 495 x
x
+ 924 x
— 792 x
3
+ 495 x
— 220 x
+ 66 x
- 12 x 〉〉 syms x;f=x^12—1;pretty(factor(f))
2
2
(x-1)(1 + x
+ x)(1 + x)
(1 — x + x)(1 + x)(x
— x
+ 1)⑤化简(simple或 simplify)。
将函数化简.〉〉 clear 〉〉 syms x;f=(1/x^3+6/x^2+12/x+8)^(1/3); 〉> g1=simple(f)>〉 g2=simplify(f)
答;g1 =(2*x+1)/x g2 =((2*x+1)^3/x^3)^(1/3)6 6、符号表达式得变量替换
subs 函数可以对符号表达式中得符号变量进行替换 >> clear >> f=sym(’(x+y)^2+4*x+10’)〉〉 f1=subs(f,’x',’s')
%使用 s 替换x >〉 f2=subs(f,”x+y’,“z’)答;f =(x+y)^2+4*x+10 f1 =(s+y)^2+4*s+10 f2 = z^2+4*x+10 7、符号极限、符号积分与微分
1)
求极限函数得调用格式 limit(F,x,a)
%返回符号对象 F 当 x→a 时得极限 limit(F,a)
%返回符号对象 F 当独立变量*→a 时得极限
limit(F)
%返回符号对象 F 当独立变量→0(a=0)时得极限 limit(F,x,a,’right’)
%返回符号对象 F 当 x→a 时得右极限 limit(F,x,a,’left”)
%返回符号对象F当 x→a 时得左极限 例一:
〉〉 clear >> f=sym(“sin(x)/x+a*x”)
>〉 limit(f,“x’,0)
%以 x 为自变量求极限 >> limit(f,”a’,0)
%以 a 为自变量求极限 >> limit(f)
%在默认情况下以 x 为自变量求极限 >> findsym(f)
%得到变量并且按字母表顺序排列 答‘f = sin(x)/x+a*x ans = 1 ans = sin(x)/x ans = 1 ans = a,x 例二: >> clear >〉 f=sym('sqrt(1+1/n));
〉〉 limit(f,n,inf)
%求 n 趋于无穷大时得极限
2)
求积分函数得调用格式 int(F)
%求符号对象 F 关于默认变量得不定积分 int(F,v)
%求符号对象 F 关于指定变量 v 得不定积分 int(F,a,b)
%求符号对象 F 关于默认变量得从 a 到 b 得定积分 int(F,v,a,b)
%求符号对象 F 关于指定变量得从 a 到b得定积分 3)
求微分方程得调用格式 diff(F)
%求符号对象 F 关于默认变量得微分 diff(F,v)
%求符号对象 F 关于指定变量 v 得微分 diff(F,n)
%求符号对象 F 关于默认变量得 n 阶微分,n 为自然数 1、2、3…… diff(F,v,n)%求符号对象 F 关于指定变量 v 得 n 阶微分 8 8、符号方程求解
1)常规方程求解函数得调用格式 g=solve(eq)
%求方程(或表达式或字串)eq 关于默认变量得解
g=solve(eq,var)
%求方程(或表达式或字串)eq 关于指定变量 var 得解 g=solve(eq1,eq2,…、,eqn,var1,var2,…,varn)
%求方程(或表达式或字串)eq1,eq2,eq3,……eqn 关于指定变量组var1,var2,……,varn)得解 求一元二次方程得解.其求解方法有多种形式:
① seq=solve(“a*x^2+b*x+c')
② seq=solve(’a*x^2+b*x+c=0”)③ eq=’a*x^2+b*x+c“;④ eq=”a*x^2+b*x+c=0’; seq=solve(eq)
⑤sym x a b c
eq=a*x^2+b*x+c seq=solve(eq)
2)常微分方程求解 求解常微分方程得函数就是 dsolve。应用此函数可以求得常微分方程(组)得通解,以及给定边界条件(或初始条件)后得特解。
常微分方程求解函数得调用格式:
r=dsolve(“eq1,eq2,…’,’cond1,cond2,…’,’v’)r=dsolve(’eq1’,’eq2”,…,“cond1’,’cond2’,…,’v”)说明: ① 以上两式均可给出方程 eq1,、qeq2 对应初始条件 cond1、cond2 之下得一 v 作为解变量得各微分方程得解。
② 常微分方程解得默认变量为 t。
③ 第二式中最多可接受得输入式就是 12 个。
④ 微分方程得表达方法。
在用 MATLAB 求解常微分方程时,用大写字母 Dy表示,用D2y表示,依此类推。
边界条件以类似于 y(a)=b 给出。其中 y 为因变量,a、b 为常数、如果初始条件给得不够,求出得解为含有 C1、C2 等待定常数得通解。
例一 求微分方程得通解、练习:(1)求。
(2)求函数得积分;求函数得导数(3)计算定积分(4)求下列线性方程组得解
(5)求解但 y(0)=2,在 z(0)=7 时,微分方程组得解。
实验五
MATLA B 程序设计
一、实验目得
掌握 MATLAB 程序设计得主要方法,熟练编写 MATLAB函数、二、实验内容
(1)M 文件得编辑。
(2)程序流程控制结构。
(3)子函数调用与参数传递。
(4)局部变量与全局变量。
三、实验步骤1、M M 文件得编辑
选择MATLAB 得菜单,打开新得M文件进行编辑,然后输入以下内容,并保存文件名为 expl、m。
s=0;for n=1:100
s=s+n;end s 答;s =
5050 保存好文件后,在命令窗口输入expl 即可运行该脚本文件,主义观察变量空间。紧接着创建 M 函数文件,然后输入以下内容,并保存文件名为 expl2、m。
function s=expl2(x)
s=0;for n=1:x
s=s+n; end
保存好文件后,在命令窗口输入
>〉 clear 〉> s=expl2(100)以 open 命令可以打开 M 文件进行修改。
〉〉open conv
%打开 conv 函数 2 2、程序流程控制结构
1)
for 循环结构
>〉 for n=1:10 n end 答;n =n =n =n =n =n =
6 n =n =
n =n =
另一种形式得 for 循环: 〉> n=10:—1:5;>〉 for i=n
%循环得次数为向量 n 得列数 i end 答;i =
10 i =i =i =i =i =2)
while 循环结构 在命令窗口输入:
clear x=1;while 1 x=x*2 end 将会瞧到 MATLAB 进入死循环因为 while 判断得值恒为真,这时须按 Ctrl+C键来中断运行,并且可瞧到 x 得值为无穷大。
练习:
(1)请把 exp2、m函数文件用 while 循环改写。
(2)用公式求得近似值,直到最后一项得绝对值小于为止,试编写M脚本文件、3)
if-else—end 分支结构
if—else—end 分支结构有如下 3 种形式。
(a)
if
表达式 语句组 1 end(b)
if
表达式 语句组 1 else 语句组2 end(c)
if
表达式 A
语句组 1 else if 表达式 B 语句组 2 else if 语句组 3 …… else
语句组 n end 4)
switch—case结构 创建 M 脚本文件 exp3、m,输入以下内容并在命令窗口中运行。
%功能:判断键盘输入得数就是奇数还就是偶数 n=input(’n=');if isempty(n)
error(’please input n');
n=input(“n=’);end switch mod(n,2)
case 1
A=’奇数'
case 0
A=’偶数” End 答;n=input('n=’); if isempty(n)
error('please input n’);
n=input(“n=’); end switch mod(n,2)
case 1
A=”奇数“
case 0
A=”偶数' end n=1 A = 奇数 3、子函数与参数传递
有一个函数,试编写实现该函数得函数文件.function g=expl4(x)
%主函数 g=0;for n=1:x
g=g+fact(n);
%调用子函数 end
function y=fact(k)
%子函数 y=1; for n=1:k
y=y*n; end 输入参数可以有函数 nargin 计算,下面得例子 sinplot(),当知输入一个参数 w 时,sinplot()函数会给p赋予默认值 0。4、局部变量与全局变量