华北电力大学-算法实验报告
华北电力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)异常。
- 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页