华北电力大学-算法实验报告
华北电力VC++实验报告1
Shiliang Shiliang::operator-(Shiliang other)
{
Shiliang temp;
temp.x_zb=this->x_zb-other.x_zb;
temp.y_zb=this->y_zb-other.y_zb;//可以省略this指针
return temp;
}
void main()
<<"="<<"("<<SLz.x_zb<<","<<SLz.y_zb<<")"<<endl;
实
验
过
程
或
实
验
主
要
程
序
cout<<"("<<SL1.x_zb<<","<<SL1.y_zb<<")"<<"-"<<"("<<SL2.x_zb<<","<<SL2.y_zb<<")"
<<"="<<"("<<SLf.x_zb<<","<<SLf.y_zb<<")"<<endl;
};
void display()
{
cout<<"姓名:"<<name<<endl;
电力仿真算法实验报告
一、实验目的本次实验旨在通过电力系统仿真软件对电力系统进行仿真分析,验证电力系统仿真算法的有效性,并进一步了解电力系统在不同运行条件下的稳定性和性能。
实验内容包括电力系统潮流计算、暂态稳定分析、短路电流计算等。
二、实验内容1. 电力系统潮流计算(1)实验背景:以某地区110kV电网为例,分析该电网在不同运行方式下的潮流分布。
(2)实验步骤:① 利用电力系统仿真软件建立110kV电网模型;② 设置电网参数,包括各节点电压、线路参数等;③ 运行潮流计算程序,得到潮流分布结果;④ 分析潮流分布结果,判断电网的稳定性。
2. 电力系统暂态稳定分析(1)实验背景:以某地区110kV电网为例,分析该电网在发生单相接地故障时的暂态稳定性。
(2)实验步骤:① 利用电力系统仿真软件建立110kV电网模型;② 设置电网参数,包括各节点电压、线路参数等;③ 设置故障参数,包括故障类型、故障位置等;④ 运行暂态稳定分析程序,得到暂态稳定结果;⑤ 分析暂态稳定结果,判断电网的稳定性。
3. 电力系统短路电流计算(1)实验背景:以某地区110kV电网为例,计算电网在发生短路故障时的短路电流。
(2)实验步骤:① 利用电力系统仿真软件建立110kV电网模型;② 设置电网参数,包括各节点电压、线路参数等;③ 设置故障参数,包括故障类型、故障位置等;④ 运行短路电流计算程序,得到短路电流结果;⑤ 分析短路电流结果,判断电网的短路容量。
三、实验结果与分析1. 电力系统潮流计算结果通过潮流计算,得到110kV电网在不同运行方式下的潮流分布。
结果表明,在正常运行方式下,电网的潮流分布合理,节点电压满足要求。
在故障运行方式下,电网的潮流分布发生较大变化,部分节点电压超出了允许范围。
2. 电力系统暂态稳定分析结果通过暂态稳定分析,得到110kV电网在发生单相接地故障时的暂态稳定结果。
结果表明,在故障发生初期,电网暂态稳定,但故障持续一段时间后,电网发生暂态失稳。
计算机组成原理实验报告——2运算器实验 华北电力大学 李梅
科技学院综合实验报告( 2011 -- 2012 年度第一学期)名称:计算机组成原理综合实验题目:运算器实验院系:信息工程系班级:学号:学生姓名:指导教师:李梅王晓霞设计周数:第十八周成绩:日期:年月一、目的与要求1.熟悉与深入理解4位的运算器芯片Am2901的功能和内部组成,运行中要求使用的控制信号及其各自的控制作用;2.熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方案,各数据位信号、各控制位信号的连接关系;3.熟悉与深入理解用2片GAL20V8芯片解决ALU最低位的进位输入信号和最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理;4.明确教学计算机的运算器部件,使用总计23位的控制信号就完全确定了它的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关中的23位提供这些控制信号,教学计算机正常执行指令时,这些控制信号必须改由控制器部件来提供。
在两种方式下,每一位(组)的控制功能是完全相同的。
二、实验正文1.实验内容1.1脱机运算器和联机运算器的区别和联系运算器是计算机硬件系统传统的5大功能部件之一,承担执行运算和暂存运算数据的功能,通常由执行算术逻辑运算功能的ALU线路、暂存参加ALU运算的数据和中间运算结果的通用寄存器组、支持乘除法运算的专用寄存器三部分组成,三个部分之间通过多路选择器线路实现连接,从而构成一个完整的运算器部件。
TEC-XP16教学计算机的运算器部件,主体部分由4片4位长度的位片结构的运算器芯片Am2901组成,每片Am2901可以接收来自内部总线IB的4位输入数据,其4位输出都直接送到地址寄存器AR的不同字段(AR不属于运算器的组成部分,图中用虚线框表示),并且经过支持三态功能的开关门电路送到内部总线IB。
还要使用MACH芯片内部的部分电路提供ALU最低位的进位输入信号和最高、最低位的移位输入信号,使用一片GAL20V8实现4位的标志位寄存器FLAG,接收ALU输出的4个标志位信号和来自内存堆栈区的4位数据(用于恢复现场状态信息),FLAG的4位输出可以经过一片带支持三态功能的开关门电路送到内部总线IB,用于保存现场状态信息到堆栈区。
《数值计算方法》上机实验报告
《数值计算方法》上机实验报告华北电力大学实验名称数值il•算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一.各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程*对于非线性方程,若已知根的一个近似值,将在处展开成一阶xxfx ()0, fx ()xkk泰勒公式"f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2!忽略高次项,有,fxfxfxxx 0 ()()(),,, kkk右端是直线方程,用这个直线方程来近似非线性方程。
将非线性方程的**根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkkfx 0 fx 0 0,解出fX 0 *k XX,, k' fx 0 k水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ikfx ()k 八XX, Ikk* fx()k这就是牛顿迭代公式。
,2,计算机程序框图:,见,,3,输入变量、输出变量说明:X输入变量:迭代初值,迭代精度,迭代最大次数,\0输出变量:当前迭代次数,当前迭代值xkl,4,具体算例及求解结果:2/16华北电力大学实验报吿开始读入l>k/fx()0?,0fx 0 Oxx,,01* fx ()0XX,,,?10kk, ,1,kN, ?xx, 10输出迭代输出X输出奇异标志1失败标志,3,输入变量、输出变量说明: 结束例:导出计算的牛顿迭代公式,并il •算。
(课本P39例2-16) 115cc (0), 求解结果:10. 75000010.72383710. 72380510. 7238052、列主元素消去法求解线性方程组,1,算法原理:高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角3/16华北电力大学实验报告方程组求解。
华北电力大学-网络信息安全综合实验报告
.综合实验报告( 2013 -- 2014 年度第 1 学期)名称:网络信息安全综合实验题目:RSA公钥加密解密院系:计算机系班级:网络工程学号:学生姓名:指导教师:李天设计周数: 1 周成绩:日期: 2013年1月18日一、综合实验的目的与要求要求:了解RSA产生公钥和私钥的方法,掌握RSA 的加密、解密过程,编写程序设计RSA 加解密工具。
RSA加解密参考:RSA的安全性依赖于大数分解,公钥和私钥都是两个大素数(大于100个十进制位)的函数。
据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。
密钥的产生:1. 选择两个保密的大素数p和q;2. 计算n=p*q和欧拉函数值E(n)=(p-1)(q-1);3. 选一整数e,且满足1<e<E(n)和gcd(E(n),e)=1;4. 计算d,且满足d*e=1 mod E(n);5. 公钥为{e, n},私钥{d, n}。
二、RSA算法的描述1.RSA 依赖大数运算,目前主流RSA 算法都建立在1024位的大数运算之上。
而大多数的编译器只能支持到64位的整数运算,即我们在运算中所使用的整数必须小于等于64位,即:0xffffffffffffffff,也就是18446744073709551615,这远远达不到RSA 的需要,于是需要专门建立大数运算库来解决这一问题。
最简单的办法是将大数当作数组进行处理,也就是将大数用0—9这十个数字组成的数组进行表示,然后模拟人们手工进行“竖式计算”的过程编写其加减乘除函数。
但是这样做效率很低,因为二进制为1024位的大数其十进制也有三百多位,对于任何一种运算,都需要在两个有数百个元素的数组空间上做多重循环,还需要许多额外的空间存放计算的进退位标志及中间结果。
另外,对于某些特殊的运算而言,采用二进制会使计算过程大大简化,这种大数表示方法转化成二进制显然非常麻烦,所以在某些实例中则干脆采用了二进制数组的方法来记录大数,这样效率就更低了。
华北电力大学操作系统实验报告(含思考题答案)
华北电⼒⼤学操作系统实验报告(含思考题答案)操作系统综合实验( 20 -- 20 年度第学期)名称:题⽬:院系:班级:学号:学⽣姓名:指导教师:成绩:⽇期:年⽉实验⼀:实验环境的使⽤⼀、实验⽬的:1、熟悉操作系统集成实验环境OS Lab的基本使⽤⽅法。
2、练习编译、调试EOS操作系统内核以及EOS应⽤程序。
⼆、实验内容:1、启动OS Lab2、学习OS Lab的基本使⽤⽅法3、EOS内核项⽬的⽣成和调试4、EOS应⽤程序项⽬的⽣成和调试5、退出OS Lab6、保存EOS内核项⽬三、实验过程:本实验实验过程主要按照eos操作系统实验教程上所对应的章节来进⾏。
实验结果:(⼀)启动OS Lab :(⽆)(⼆)学习OS Lab的基本使⽤⽅法:(1)、创建了第⼀个项⽬:(2)、⽣成了第⼀个项⽬(3)、添加了func⽂件后经过⼀系列的调试,打印出了相关内容,按shift+F5结束调试。
(4)、查看变量的值:有3种⽅法:1、将⿏标移动到源代码编辑器中变量n的名称上,此时会弹出⼀个窗⼝显⽰出变量n当前的值(由于此时还没有给变量n赋值,所以是⼀个随机值)。
2、在源代码编辑器中变量n的名称上点击⿏标右键,在弹出的快捷菜单中选择“快速监视”,可以使⽤“快速监视”对话框查看变量n的值。
然后,可以点击“关闭”按钮关闭“快速监视”对话框。
3、在源代码编辑器中变量n的名称上点击⿏标右键,在弹出的快捷菜单中选择“添加监视”,变量n就被添加到了“监视”窗⼝中。
使⽤“监视”窗⼝可以随时查看变量的值和类型。
此时按F10进⾏⼀次单步调试,可以看到“监视”窗⼝中变量n的值会变为0(1)、调⽤堆栈:使⽤“调⽤堆栈”窗⼝可以在调试的过程中查看当前堆栈上的函数,还可以帮助理解函数的调⽤层次和调⽤过程。
EOS内核项⽬的⽣成和调试:(2)、新建EOS内核项⽬(3)、⽣成项⽬(4)、调试项⽬(5)、查看软盘镜像⽂件中的内容(6)、查看EOS SDK(Software Development Kit)⽂件夹EOS应⽤程序项⽬的⽣成和调试新建EOS应⽤程序项⽬⽣成项⽬:按F7⽣成项⽬调试项⽬:按F5进⾏各种调试查看软盘镜像⽂件中的内容:使⽤FloppyImageEditor⼯具打开该项⽬中的Floppy.img⽂件,查看软盘镜像中的⽂件。
华北电力大学 数字信号处理课程设计实验报告
(4) 计算 Y(k)=X1(k)*X2(k);
实
(5) 计算 Y(k)的反变换,即 y(n)=IFFT[X1(k)*X2(k)]。
直接计算 DFT 共需 N*N 次复数乘法和 N(N-1)次复数加法。而 FFT 仅需
验
计算 0.5M 次复数乘法和 M*N 次复数加法。由于在计算机上计算乘法所需的 原 时间比计算加法多得多,所以 FFT 的运算量比 DFT 要少的少。
设计滤波器,首先要对模拟频率进行数字与转换、归一化,采用双线性变 换法还要进行预畸变。接下来依次采用非归一化巴特沃斯模拟滤波器设计函 数、设计双线性变换法的函数、计算离散系统频率响应的函数,最后画出幅 频特性、相频特性、群延迟等图像即可完成图像。 2、源程序: fp=1000; fs=1500; Fs=10000; Rp=1; As=40; T=1/Fs; wp=2*pi*fp*T; ws=2*pi*fs*T; 实 omegap=(2/T)*tan(wp/2); 验 omegas=(2/T)*tan(ws/2); [cs,ds]=afd_buttap(omegap,omegas,Rp,As); 内 [b,a]=bilinear(cs,ds,Fs); [db,mag,pha,grd,w]=freqz_m(b,a); 容 subplot(2,2,1);plot(w/pi,mag);ylabel('幅度'); xlabel('以π为单位的频率');title('幅度响应');axis([0,0.8 0 1]); subplot(2,2,3);plot(w/pi,db);title('幅度响应(dB)');grid; xlabel(' 以 π 为 单位 的 频 率 ');ylabel(' 对 数幅 度 dB');axis([0,0.8 -60 0]); subplot(2,2,2);plot(w/pi,pha);title('相位响应');grid; xlabel('以π为单位的频率');ylabel('相位');axis([0,0.8 -4 4]); subplot(2,2,4);plot(w/pi,grd);title('群延迟');grid; xlabel('以π为单位的频率');ylabel('样本');axis([0,0.8 0 10]);
【最新资料】华北电力大学java实验报告
华北电力大学实验报告||实验名称面向对象程序设计(java)实验课程名称面向对象程序设计(java)||专业班级:软件1202 学生姓名:孟令虎学号:************成绩:指导教师:崔克彬老师实验日期:2013-4-15所用仪器、设备电脑(Eclipse)题目一:编写一个圆类,在类中实现计算圆的面积的方法,和输出圆的半径和面积,在类中定义构造方法。
编写主函数进行测试。
实验总结:该实验过程较简单,定义类后即可进行编写构造函数和一些方法。
关键是细心编写,不要输入错误。
需要对一些语法熟练掌握。
比如如何创建对象,并且如何初始化。
题目二:输入一个字符串判断是否为回文。
如abccba是回文。
实验总结:该实验要学会如何输入字符串。
并且使用字符串中的方法char At()。
import java.util.Scanner;public class T3 {/*** @param args*/public static void main(String[] args) {int i=0;int d=0;// TODO Auto-generated method stubScanner scan=new Scanner(System.in);String s=scan.next();while(i<=(s.length()-i)){char ch1=s.charAt(i);char ch2=s.charAt(s.length()-1-i);i=i+1;if(ch1!=ch2){ System.out.println("不是回文");d=1;break ;}}if (d==0)System.out.println("是回文");}}(1)非常易错点就是:char ch2=s.charAt(s.length()-1-i);如改写为 charch2=s.charAt(s.length()-i)则会报Exception in thread "main" ng.StringIndexOutOfBoundsException: String index out of range: 6at ng.String.charAt(Unknown Source)at jj.main(jj.java:10)异常。
华北电力大学数字信号处理实验报告
华北电力大学实验报告实验环境MATLAB 6.5实验名称提高性实验实验三IIR数字低通滤波器的设计实验目的1.熟悉MATLAB在数字信号处理方面的应用2.深刻理解频域上的频谱特性3.学会数字滤波器的设计4.学会比较不同方法,不同参数设计的滤波器性能比较实验原理设计IIR数字滤波器一般采用间接法(冲激响应不变法和双线性变换法),该设计采用双线性不变法。
IIR的基本设计过程是:首先,将给定的数字滤波器的指标转换成过渡的模拟滤波器的指标;其次,设计过渡模拟滤波器;最后,将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。
设计过程要事先预畸变。
由于从s平面到z平面的映射具有多值性,使得设计出来的数字滤波器不可避免的出现频谱混迭现象。
为了克服脉冲响应不变法可能产生的频谱混叠效应的缺点,使用一种新的变换——双线性变换。
双线性变换法可认为是基于对微分方程的积分,利用对积分的数值逼近的思想。
仿真滤波器的传递函数H(s)为将展开为部份分式的形式,并假设无重复极点,则那么,对于上述函数所表达的数字信号处理系统来讲,其仿真输入x(t)和模拟输出y(t)有如下关系实验环境MATLAB 6.5实验名称提高性实验实验四利用窗函数法实现线性相位FIR数字低通滤波器设计实验目的1、根据ALPF指标,构建物理可实现的线性相位FIR滤波器的冲激响应函数;2、采用多种窗函数,设计线性相位型FIR滤波器4、对比分析多种窗函数法设计的数字滤波器性能。
实验原理FIR滤波器通常采用窗函数方法来设计。
窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后截取(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。
我们用Hd(e^jw)表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。
一个带宽wc<pi的低通滤波器由下式给定:为了从hd(n)得到一个FIR滤波器,必须同时在两边截取hd(n)。
实验三-华北电力大学-数字信号处理实验
文档实验报告实验名称____________ ____课程名称____________ ____院系部:专业班级:学生姓名:学号:同组人:实验台号:指导教师:成绩:实验日期:华北电力大学文档1.实验目的分析常用窗函数的时域和频域特性,灵活运用窗函数分析信号频谱和设计FIR数字滤波器。
2.实验原理在确定信号谱分析、随机信号功率谱估计以及FIR数字滤波器设计中,窗函数的选择起着重要的作用。
在信号的频谱分析中,截短无穷长的序列会造成频率泄漏,影响频谱分析的精度和质量。
合理选取窗函数的类型,可以改善泄漏现象。
在FIR数字滤波器设计中,截短无穷长的系统单位脉冲序列会造成FIR滤波器幅度特性的波动,且出现过渡带。
3.实验内容及步骤(1) 1. 分析并绘出常用窗函数的时域特性波形。
2. 利用fft函数分析常用窗函数的频域特性, 并从主瓣宽度和旁瓣相对幅度两个角度进行比较分析。
3. 研究凯塞窗(Kaiser)的参数选择对其时域和频域的影响。
N=20, 60, 110;固定beta=4,分别取 (1)N=60,分别取beta=1,5,11。
(2) 固定????π911πkkxk????cos5.cos?[]?0 4. 序列,分析其频谱。
????2020???? (1) 利用不同宽度N的矩形窗截短该序列, N 分别为20,40,160,观察不同长度N的窗对谱分析结果的影响;(2) 利用哈明窗重做 (1);(3) 利用凯塞窗重做 (1);(4) 比较和分析三种窗的结果;(5) 总结不同长度或类型的窗函数对谱分析结果的影响。
4.数据处理与总结1.分析并绘出常用窗函数的时域特性波形。
程序如下:clear;subplot(2,3,1);N=51;w=boxcar(N);stem(w)') 矩形窗title('subplot(2,3,2);w=hanning(N);stem(w)') title('Hanning窗subplot(2,3,3);w=hamming(N);stem(w)') title('Hamming窗subplot(2,3,4);w=blackman(N);stem(w)') title('blackman窗subplot(2,3,5);w=bartlett(N);stem(w)') 三角形窗title('subplot(2,3,6);w=kaiser(N);stem(w)') 窗title('kaiserfft函数分析常用窗函数的频域特性2,利用clear;N=51;w=boxcar(N);y=fft(w,200);subplot(3,3,1);'); 时域波形stem([0:N-1],w);title('subplot(3,3,2);y0= abs(fftshift(y));'); plot([-100:99],y0);title('矩形窗频域subplot(3,3,3);w=hanning(N);y=fft(w,200);y0= abs(fftshift(y));'); 窗频域plot([-100:99],y0);title('hanningsubplot(3,3,4); w=hamming(N);y=fft(w,200);文档y0= abs(fftshift(y));plot([-100:99],y0);titl'); e('哈明窗频域subplot(3,3,5);w=blackman(N);y=fft(w,200);y0= abs(fftshift(y));plot([-100:99],y0);titl'); 布莱克曼窗频域e('subplot(3,3,6);w=bartlett(N);y=fft(w,200);y0= abs(fftshift(y));plot([-100:99],y0);titl'); 三角形窗频域e('subplot(3,3,7);w=kaiser(N);y=fft(w,200);y0= abs(fftshift(y));');plot([-100:99],y0);title('kaiser窗频域的参数选择对其时域和频域的影响。
华北电力大学科技学院 软件综合实验(实验报告)
综合实验报告( 2012 -- 2013 年度第 1学期)名称:软件设计与实践题目:网页视频播放器院系:信息工程班级:学号:学生姓名:指导教师:田志刚设计周数: 2成绩:日期:2012年1 月11 日《软件综合实验》任务书一、目的与要求软件综合实验是计算机科学与技术、软件工程、网络工程和信息安全专业学生的必修实践环节,本环节是在第六学期、第七学期设置,主要让学生进一步理解、巩固、加深前面所学的课程,并能综合运用所学课程的知识进行设计,掌握算法设计及实现的理论与方法,为毕业设计和今后的工作打下良好的基础。
课程的基本要求:1. 熟悉微机的应用环境。
2. 利用所学课程的知识,解决程序设计中的实际问题(实际应用题目,或模拟实际应用的题目),为毕业设计和今后的工作打下良好的基础。
二、主要内容能熟练地利用微机设计出有实用价值的程序。
1. 熟悉Windows以及其它工具软件系统,2. 根据所选题目进行算法设计(画出流程图,写出各模块的文档)。
3. 编程。
4. 上机调试。
三、进度计划四、设计(实验)成果要求编制一个网页播放视频,要求有两种播放模式,一种是可以操作者播放并控制,另外一种是仅可以播放和暂停,不允许改变视频播放进度。
五、考核方式实验结果(60%)+实验报告(30%)+实验过程表现(10%)学生姓名:指导教师:年月日一、课程设计(综合实验)的目的与要求本次课程设计主要让学生进一步理解、巩固、加深前面所学的课程,并能综合运用所学课程的知识进行设计,掌握算法设计及实现的理论与方法,为毕业设计和今后的工作打下良好的基础。
课程的基本要求:1. 熟悉微机的应用环境。
2. 利用所学课程的知识,解决程序设计中的实际问题(实际应用题目,或模拟实际应用的题目),为毕业设计和今后的工作打下良好的基础。
二、设计(实验)正文1、实验内容编制一个网页播放视频,要求有两种播放模式,一种是可以操作者播放并控制,另外一种是仅可以播放和暂停,不允许改变视频播放进度。
电力系统潮流计算实验报告 手算过程
2.35294+j-9.41177 -1.17647+j 4.70588 -1.17647+j 4.70588
-1.17647+j 4.70588 1.17647+j-4.70588 0.00000+j 0.00000
-1.17647+j 4.70588 0.00000+j 0.00000 1.17647+j-4.70588
线路上损耗的功率为:
线路1-3上的功率损耗: 0.001103 + j 0.004410
====================================================================
************************结束************************
网络总损耗: 0.012528+ j 0.050114
2.结果分析
1)各节点电压均在额定电压附近,平衡功率中无功功率为0.050114,即发出无功。
2)所用线路有功都不超过1,没有过载,即转换功率比较大,运行较为安全。
3)线路损耗中线路1-2较大,须提高电压等级,以减少网损。
3.程序的优缺点
1)优点:该程序采用牛顿拉夫逊算法,收敛较快。解方程用列主元素消去法,一般不会产生溢出。采用输入输出文件,可多次进行调用,且不因源程序多次修改数据而出错,减少数据输入的麻烦,方便看运行结果。本程序考虑到PQ、PV节点,计算的节点数,可根据电脑运行容量确定的计算方程的阶数来限定,一般情况下都能满足运算要求。运算精度可由用户自定义输入。通过多道题目的试验,本程序均可使用,即通用性良好。
--------------------------输出df,de--------------------------------
科技学院算法设计与分析实验报告
scanf("%lf",&c);
printf("输入每个物品的体积:\n");
for(int a=0;a<n;a++)
scanf("%lf",&s[a]);
printf("输入每个物品的价值:\n");
for(int b=0;b<n;b++)
scanf("%lf",&v[b]);
例:n=4,C=5,S={1,2,3,4},V={4,3,2,1}
代码:
//部分背包问题
#include<stdio.h>
#define N 100
main()
{
int n;
double r[N],x[N],c,s[N],v[N];
printf("输入物品个数:\n");
scanf("%d",&n);
华北电力大学科技学院
实验报告
|
|
实验名称算法设计与分析实验
课程名称算法设计与分析
|
|
专业班级:学生姓名:
学号:成绩:
指导教师:实验日期:
实验一用动态规划方法求解0-1背包问题
一、实验目的及要求
1.理解动态规划算法的概念
2.掌握动态规划算法的基本要素:最优子结构性质和重叠子问题性质
3.掌握设计动态规划算法的步骤
4.通过具体实例——0-1背包问题学习动态规划算法设计策略
二、所采用存储结构
数组存储结构
三、实验步骤
1.问题:有n个物品{U1,U2,U3...Un}其体积和价值分别为Si和Vi,在限定背包的情况下,选取物品使背包价值最大。
操作系统实验报告(四)
法称为改进型 Clock 算法。其执行过程可分成以下三步:
(1)从指针所指示的当前位置开始,扫描循环队列,寻找 A=0 且 M=0 的第一类页面,将所
遇到的第一个页面作为所选中的淘汰页。在第一次扫描期间不改变访问位 A。
(2)如果第一步失败,即查找一周后未遇到第一类页面,则开始第二轮扫描,寻找 A=0 且
XXXX 大学
实验报告
| |
实验名称
实验四 存储器管理实验课程来自称操作系统| |
专业班级: 学 号: 指导教师:
学生姓名: 成 绩: 实验日期:
华北电力大学实验报告
一、实验目的及要求
一、实验目的
存储器管理的主要功能是,合理地分配内存空间,数据存储和查询。其中,请求页式存储管
理是一种具有虚拟空间技术的存储器管理系统。
在采用该算法时,应为在内存中的每个页面设置一移位寄存器,用来记录该页面被访问的频 率,该置换算法选择在最近时期使用最少的页面作为淘汰页。 2、页面缓冲算法(Page Buffering Algorithm)
虽然 LRU 和 Clock 置换算法都比 FIFO 算法好,但它们都需要一定的硬件支持,置换一个已 修改的页的开销要大。而页面缓冲算法则既改善分页系统的性能,又可采用一种较简单的置换策 略。 六、请求分页系统的性能分析 1、缺页率对有效访问的时间的影响
缺页时须先调入该页的情况时,有效访问时间表示为:有效访问时间=(1-p) ma+p 缺页中 断时间。 2、缺页中断时间的组成 (1)缺页中断时间服务时间; (2)将缺页中断读入的时间; (3)进程重新执行时间。
由于 CUP 速度很快,所以其中地(1)和(3)两部分可以不超过 1ms;而将一磁盘块读入内 存的时间,则包括寻道时间、旋转时间和数据传送时间三部分,大体上是 24ms。由此可得知缺页 中断时间约为 25ms。此处尚未考虑到进程可能因排队等待所花费的时间。将上述数据代入到工集 有效访问时间
算法设计与分析实验报告(华北电力大学科技学院)
科技学院课程设计(综合实验)报告(2011--2012年度第1学期)名称:算法设计与分析题目:动态规划法和回溯法的应用院系:信息系班级:软件09K2学号:0919********学生姓名:闫雪峰指导教师:刘军设计周数: 1成绩:日期:2011年11月4日一、实验内容1.要求能够利用动态规划法解决矩阵连乘问题或0-1背包问题; 2.要求能够利用回溯法解决N 皇后问题。
二、实验流程1.0-1背包问题1.1动态规划法解决问题的基本思想可利用动态规划法解决的问题要具有2个性质:最优子结构性质和子问题重叠性质。
动态规划的基本思想是将待求的问题分成若干个子问题,这些子问题往往具有重叠的性质,因此,动态规划法采用自底而上的方向不断解决子问题,同时用一个表记录已解决问题的相关重叠数据,以便调用,从而节省计算时间。
动态规划法适于解最优问题,通常可按以下4个步骤设计: (1) 找出最优解的性质,并刻画其结构特征; (2) 递归地定义最优值;(3) 以自底而上的方式计算出最优值并保存;(4) 根据计算最优值时得到的信息,构造最优解。
1.2利用动态规划法解决0-1背包问题 1.3.1问题描述给定n 种物品和一个背包。
物品i 的重量是,其价值为,背包的容量是c 。
如何选择物品,使得背包中的物品价值最大?在选择物品时,对于任何一种物品i ,只有两种选择:选和不选。
不可选部分,也不可一个物品选多次。
对该问题的一个形式化描述为:给定c>0,>0,>0,1≤i ≤n ,要求找出一个0-1向量,使得最大,同时满足。
目标函数:∑=nii i x v 1max约束函数:⎪⎩⎪⎨⎧≤≤∈≤∑=n i x cx w ini i i 1},1,0{1因此,0-1背包问题实际上是一个特殊的整数规划问题。
1.3.2分析最优解的结构0-1背包问题具有最优子结构性质。
设是所给0-1背包问题的一个最优解,则是的一个最优解。
因若不然,设是上述子问题的一个最优解,而不是它的最优解。
华北电力大学算法实验报告
华北电力大学实验报告|实验名称:算法设计与分析实验课程名称:算法设计与程序分析|专业班级:学生姓名:学号:2011 成绩:指导教师:刘军实验日期:2013.11实验一矩阵连乘(动态规划)一、实验目的:掌握基本的动态规划思想,学习解决格路问题的基本思想。
二、实验内容:给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2,…,n-1。
要算出这n个矩阵的连乘积A1A2…An。
由于矩阵乘法满足结合律,故计算矩阵的连乘积可以有许多不同的计算次序。
这种计算次序可以用加括号的方式来确定。
若一个矩阵连乘积的计算次序完全确定,也就是说该连乘积已完全加括号,则可以依此次序反复调用2个矩阵相乘的标准算法计算出矩阵连乘积。
完全加括号的矩阵连乘积可递归地定义为:(1)单个矩阵是完全加括号的;(2)矩阵连乘积A是完全加括号的,则A可表示为2个完全加括号的矩阵连乘积B和C的乘积并加括号,即A=(BC)。
例如,矩阵连乘积A1A2A3A4有5种不同的完全加括号的方式:(A1(A2(A3A4))),(A1((A2A3)A4)),((A1A2)(A3A4)),((A1(A2A3))A4),(((A1A2)A3)A4)。
每一种完全加括号的方式对应于一个矩阵连乘积的计算次序,这决定着作乘积所需要的计算量。
若A是一个p×q矩阵,B是一个q×r矩阵,则计算其乘积C=AB的标准算法中,需要进行pqr次数乘。
为了说明在计算矩阵连乘积时,加括号方式对整个计算量的影响,先考察3个矩阵{A1,A2,A3}连乘的情况。
设这三个矩阵的维数分别为10×100,100×5,5×50。
加括号的方式只有两种:((A1A2)A3),(A1(A2A3)),第一种方式需要的数乘次数为10×100×5+10×5×50=7500,第二种方式需要的数乘次数为100×5×50+10×100×50=75000。
人工智能实验报告 华北电力大学 刘丽
%判断移动后两岸状态是否合法
第 页共 页
华北电力大学科技学院实验报告
legal((X,Y,_)):- %X 为左岸状态,Y 为右岸状态。_取 0 或 1,0 代表左岸,1 代表右岸
具体实验课上相关内容,练习例 1 到例 6 的内容。
2. 图搜索问题求解。
任选以下实际应用题目:爱因斯坦的超级问题、字谜问题、汉诺塔问题、八数码问
题、八皇后问题、过河问题等,选两个。
要求实验报告中包括:程序及其注释和说明、console 表单中的程序运行结果。
二、所用仪器、设备
PC 机和 trinc prolog 编译软件
并不是所有的回溯都是必须的,这时我们需要能够人工地控制回溯过程 Prolog 提供了完成此功能的谓词,叫做 cut,使用符号!来表示 Cut 能够有效地剔除一些多余的搜索。如果在 cut 处产生回溯,它会自 动地失败,而不去进行其它的选择 若将“!”插在子句体内作为一个子目标,它总是立即成功
2.若“!”位于子句体的最后,则它就阻止对它所在字句的头谓词的 所有子句的回溯访问,而让回溯跳过该头谓词,去访问前一个子目标
一、实验目的及要求 二、所用仪器、设备 三、实验原理 四、实验方法与步骤 五、实验结果与数据处理 六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问 题等进行分析和讨论,对实验的进一步想法或改进意见) 七、所附实验输出的结果或数据 设计性实验报告应含的主要内容: 一、设计要求 二、选择的方案 三、所用仪器、设备 四、实验方法与步骤 五、实验结果与数据处理 六、结论(依据“设计要求”) 七、所附实验输出的结果或数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
熟悉 Matlab 的 rand() ,abs() ,eig()等函数,并采用这些函数随机生成用于 测试的阶正定矩阵 A 及 n 维列向量 b。
3)
令 n=1000,随机生成问题算例,采用 Matlab 计算所生成的问题的条件数,并采用 最速下降法求解该问题, 观察迭代过程中目标值变化趋势, 残差的 2-范数变化趋势。
-3
华 北 电 力 大 学 实 验 报 告
实验二、凸二次规划的共轭梯度算法
一、 实验目的 1、 2、 3、 二、 初步掌握在 PC 机上建立、汇编和运行 Matlab 汇编语言程序的过程。 通过对两个验证性实验的阅读、调试,掌握不同算法的程序设计方法。 完成程序设计题,加深对最优化算法的理解,了解简单程序设计方法。
实验条件 一台计算机
三、
实验内容与步骤
1) 2)
1 T T 用 Matalab 编写梯度下降算法求解 min x Ax-b x。 2
令 n=1000,随机生成问题算例,采用 Matlab 计算所生成的问题的条件数,并采用 最速下降法和共轭梯度法求解该算例,观察残差的 2-范数变化趋势。对两种算法的 收敛效率进行比较并给出结论。
-3
华 北 电 力 大 学 实 验 报 告
设反了,其次在实验过程中也出现了忘记加“*”导致实验不能继续进行的情况,最后由于 未能对之前的实验代码清除干净,导致程序无法执行,或者得不到想要的实验结果,这些在 实验中都是应该注意的。
பைடு நூலகம்
第6页
4) 5)
设计实验,观察条件数对收敛效率的影响。
参考程序如下: n=1000 B=rand(n)*10-5 C=B+B' [V,D]=eig(C) A=V*abs(D)*V' b=rand(n,1)*20-10
第2页
华 北 电 力 大 学 实 验 报 告
x=zeros(n,1) r=A*x-b i=1 while norm(r)>=0.001 d=-r alpha=(r'*r)/(r'*A*r) x=x+alpha*d r=A*x-b y(i)=norm(r) i=i+1 end semilogy(y) k=max(eig(A))/min(eig(A)) 四、实验结论与分析 实验结果:在调试运行后, 将精度设计到 10 采用最速下降法所进行的迭代步数一共是 i=5399 步, 生成的残差的 2-范数变化趋势见下一页附表呈现下降状,条件数 k =1.1173e+03。 分析:本次实验的重要之处在于能够预先设定好相应的程序,并对程序的运行进行相应的调试。 本次实验中,有以下几点看法: (1)梯度下降法每次都选择的是负梯度方向,并且每步长值选的是能 达到最优解的步长值, 所以通过实验图像可以看出每一次的迭代都是向最优解的靠近, 几乎达到坡度 很大的直线下降的趋势。 (2)通过对不同条件数的比较,条件数越接近 1,则最速下降法收敛速度越 快,本次实验的条件数是 k =1.1173e+03,条件数比较大,所以收敛速度很慢,收敛到规定精度以内, 用了五千多步,条件数更大的时候有时需要将近一万多步。最速下降法对条件数的依赖很大。 (3)当 初始解离最优解非常远时,收敛速度非常快,用了几步就到达 100 以内,但是在最优解附近,收敛速 度相当慢,在最优解附近时,在使用最速下降法时,为了增加效率应该尽量的减小精度。 五、实验心得 在本次实验中,学习了 Matlab 的基本操作,通过实验的设计对最速下降法有了更深 刻的理解。 第3页
一、 实验目的 1、 2、 3、 二、 初步掌握在 PC 机上建立、汇编和运行 Matlab 汇编语言程序的过程。 通过对两个验证性实验的阅读、调试,掌握不同算法的程序设计方法。 完成程序设计题,加深对最优化算法的理解,了解简单程序设计方法。
实验条件 一台计算机
三、
实验内容与步骤
1) 2)
1 T T 用 Matalab 编写梯度下降算法求解 min x Ax-b x。 2
华北电力大学
实 验 报 告
|
实验名称 实验一
凸二次规划的梯度下降算法
实验二 凸二次规划的共轭梯度算法
课程名称
管理运筹学
|
|
专业班级:研经管 1627 学 号:1162206003
学生姓名:钱进 成 绩:
指导教师:路程
实验日期:2016-12-23
华 北 电 力 大 学 实 验 报 告
实验一、凸二次规划的梯度下降算法
3)
设计实验, 生成具有不同条件数的问题算例, 观察条件数对共轭梯度算法收敛效率 的影响,并与之前最速下降法的实验结果对比。给出分析。
4)
参考程序如下: n=1000 B=rand(n)*10-5 C=B+B' [V,D]=eig(C) A=V*abs(D)*V' b=rand(n,1)*20-10 x=zeros(n,1) 第4页
华 北 电 力 大 学 实 验 报 告
r=A*x-b d=-r i=1 while norm(r)>=0.001 alpha=-(r'*d)/(d'*A*d) x=x+alpha*d r=A*x-b beta=(r'*A*d)/(d'*A*d) d=-r+beta*d y(i)=norm(r) i=i+1 end plot(y) k=max(eig(A))/min(eig(A)) 四、 实验结论与分析 实验结论: 在调试运行后, 将精度设计到 10-3 采用共轭梯度法所进行的迭代步数一共是 i=140 步,生成的残差的 2-范数变化趋势见下一页附表呈现锯齿下降状,条件数 k =1.3082e+03。 分析: (1)从条件数的比价来看,共轭梯度法和最速下降法的条件数几乎相当,但是收 敛效率却有明显的差别, 共轭梯度法达到 10 的精度仅仅用了 140 步, 效率很高, 而同样的问题, 最速下降法则要大概五千多步。 (2) 共轭梯度法对条件数的依赖程度比较低, 即使条件数比较大, 共轭梯度的收敛效率也很可观,相对来说梯度下降法对条件数的要求更高。 (2)通过生成的残差 2-范数图像可以看出,共轭梯度法是波动中下降,对此问题也进行了认真的思考,最后了解到条 件数如果很大,即最大和最小特征值相差很大,残差会在一定范围内波动,因此会出现波动下降 的结果,如果将条件数限定的比较小,则可以看到该下降法的直线下降趋势。 五、 实验心得 在实验过程中,刚开始一度出现向上的图像,后来通过对程序的查找,发现迭代方向 第5页