矩阵的简单运算(课程设计论文)

矩阵的简单运算(课程设计论文)
矩阵的简单运算(课程设计论文)

课 程 设 计

学 号: 200940410101

题 目

矩阵乘法

教 学 院

计算机学院 专 业

09计算机科学与技术 班 级 09计科(1)班

张祥 指导教师

祁文青

2010 年 12 月 25 日

课程设计(论文)

课程设计任务书

(2010~2011学年第一学期)

学生姓名:张祥专业班级:09计算机科学与技术(1)班

指导教师:祈文青工作部门:计算机学院

一、课程设计题目

矩阵乘法

二、课程设计内容

1.矩阵的存储

2.矩阵的乘法

3.矩阵的的加法与减法

三、进度安排

1.分析问题,给出数学模型,选择数据结构.

2.设计算法,给出算法描述

3.给出源程序清单

4. 编辑、编译、调试源程序

5. 撰写课程设计报告

四、基本要求

1.用C语言实现矩阵的运算.

2.利用链表实现矩阵运算的存储.

3.该程序具有加法、减法、乘法基本运算功能.

4. 程序的各个功能模块要求用函数的形式实现.

5. 完成设计任务并书写课程设计报告。

教研室主任签名:

年月日

课程设计(论文)

目录

一、作品及人员信息 (3)

二、概述 (3)

三、设计目的 (3)

四、运行/开发环境 (3)

五、流程图 (4)

六、功能介绍 (5)

七、算法分析 (5)

八、测试过程中所用过的数据及说明 (9)

九、使用价值及优点 (11)

十、总结 (11)

附录(一):参考文献 (11)

附录(二):成绩评定表 (12)

课程设计(论文)

一、作品及人员信息

1、开发项目的名称:矩阵乘法

2、本项目的提出者:祈文青

3、本项目的开发者:张祥、张宁、黄小强、龚江华

二、概述

数据结构是一门理论性强、思维抽象、难度较大的课程,是基础课和专业课之间的桥梁只有进行实际操作,将理论应用于实际中,才能确实掌握书中的知识点。

通过课程设计,不仅可以加深学生对数据结构基本概念的了解,巩固学习成果,还能够提高实动手力。为学生后继课程的学习打下良好的基础。

三、设计目的

1. 使学生能够较全面地巩固和应用课堂中所学的的基本理论和程序设计方法,

能够较熟练地完成程序的设计和调试。

2. 培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,

全方位考虑问题等科学技术人员应具有的素质。培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。

3. 培养了我们的攻克难关的斗志以及团队合作精神,在一个团队里,每个成员

都不同程度地存在着优缺点,成员之间应该积极去认真总结团队其他成员的特长和优点,并向他人学习,扬长避短,不断提高自己的综合能力。让我们携手牢记“信任与尊重、团结与友爱、合作与创新”的团队精神。

4. 对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计

能力、书面及口头表达能力进行考核。

四、运行/开发环境

1、运行环境:

windows xp及其以上版本

2、开发环境:

vc++6.0

课程设计(论文)

五、流程图

能 能

[0]结束

能否加减乘

功能选择

定义字符串型辅助变量在转化为整型变量

[2]相减

[1]相加

[3]相乘

[4]转置

释放矩阵内存

定义字符串型辅助变量在转化为整型变量

释放矩阵内存

开始

输入矩阵A 、B

输出矩阵c

输入矩阵A

输出矩阵c

请按任意键继续……

请按任意键继续……

能否加减乘

课程设计(论文)

六、功能介绍

1.矩阵的加法

2.矩阵的的减法

3.矩阵的的乘法

4.矩阵的的转置

七、算法分析

1. 用.h文件的调用代码

#include"void Menu.h"

#include"void jia.h"

#include"void jian.h"

#include"void cheng.h"

#include"void zhuanzhi.h"

2. 控制界面的前景背景

{

system("color 0a");

}

3. (1)设置符串型辅助变量,再将字符串型转换为整型

(2)判断是否为数字

(1)和(2)增强程序的健壮性

(1) char c1[10]; //辅助变量

int c=0;

cin>>c1;

j=strlen(c1);

for(i=j-1,j=0;i>=0;i--,j++)

c=c+(int)((c1[i]-'0')*pow(10,j)) ;

(2)if( strcmp(c1,"0")>=0&&strcmp(c1,"5")<0)

4. 使程序暂停和清屏功能

{

cout<<"\t\t\t\t";

system("pause");

system("cls");

}

课程设计(论文)

5. 判断能否相加以及行列是否为数字

if(m==f&&g==n&&strcmp(m1,"0")>0&&strcmp(m1,"9")<=0&&

strcmp(n1,"0")>0 && strcmp(n1,"9")<=0)

6. 定义矩阵

double **a=NULL;

(释放后再赋值为NULL在一些进行有效性判断的地方用a==NULL来判断指针是否为空指针)

a=(double**)malloc(m*sizeof(double*));

(这句是动态定义二维数组的行数新的标准ANSI C规定malloc函数的返回值类型为void型,所以需要强制转化为double型的指针后才能赋给a)

for(i=0;i

a[i]=(double*)malloc(g*sizeof(double));

(这句是动态定义二维数组的列数)

7. 从 .txt文件输入数据

FILE *fpa;

printf("请输入矩阵A的元素\n\n\n");

system("input-a.txt");

fpa=fopen("input-a.txt","r"); //读文件input-a.txt

if(fpa==NULL)

{

printf("文件写打开失败");

exit (0);

}

for(i=0;i

for(j=0;j

fscanf(fpa,"%lf",&a[i][j]); //从文件读取数据fclose(fpa);

8. 屏幕输出,用%g格式,可以输出小数

for(i=0;i

{

for(j=0;j

printf("%g\t",a[i][j]); //实数格式

printf("\n");

}

9. 矩阵加法,减法类似。

for(i=0;i

课程设计(论文)

for(j=0;j

result[i][j]=a[i][j]+b[i][j];

10.初始化为0,矩阵乘法

for(i=0;i

for(j=0;j

result[i][j]=0;/*初始化为0*/

for(i=0;i

for(j=0;j

for(k=0;k

result[i][j]+=a[i][k]*b[k][j];

11. 矩阵的转置

for(i=0;i

for(j=0;j

result[i][j]=a[j][i];

12. 文件输出( .txt)

FILE *fpc;

fpc=fopen("output-c.txt","wb");

if(fpc==NULL)

{

printf("文件打开失败");

exit(0);

}

for(i=0;i

{

for(j=0;j

fprintf(fpc,"%g\t",result[i][j]);

fprintf(fpc,"\r\n" );

}

fclose(fpc);

13. 打开 .txt文件

system("output-c.txt");

14. 内存空间的释放

for(i=0;i

{

free(a[i]);

课程设计(论文)

a[i]=NULL;

free(result[i]);

result[i]=NULL;

/*将之前分配的内存空间释放后,把指针置0是一个好的习惯*/

}

free(a);

a=NULL;

free(result);

result=NULL;

for(i=0;i

{

free(b[i]);

b[i]=NULL;

}

free(b);

b=NULL;

}

16. 菜单函数

void Menu()

{

c out<<""<

c out<

c out<<"\t=========================矩阵的简单运算

========================="<

c out<<"\t\t\t\t\t\t\t\t "<

c out<<"\t\t\t\t [1] 矩阵加法\t\t "<

c out<<"\t\t\t\t [2] 矩阵减法\t\t\t "<

c out<<"\t\t\t\t [3] 矩阵乘法\t\t\t "<

c out<<"\t\t\t\t [4] 矩阵转置\t\t\t "<

c out<<"\t\t\t\t [0] 退出\t\t\t "<

c out<<"\t\t\t\t\t\t\t\t "<

c out<<"\t=========================矩阵的简单运算

========================="<

c out<

c out<<"\t\t\t 请选择: ";

}

课程设计(论文)

八、测试过程中所用过的数据及说明

1.菜单:

2. 容错及暂停:

课程设计(论文)

3.矩阵从文件输入:

课程设计(论文)

4.矩阵屏幕输出及文件输出:

九、使用价值及优点

可以当作简单的矩阵计算器使用,具有一定的容错性

十、总结

课程设计结束了,带给我很多的收获。C程序设计、数据结构已经学完了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,实际应用,已经减少了许多。对这些知识也有了更深的理解和很好的掌握。通过课程设计,明白到了原来开发一个项目,是需要考虑到很多方面的问题的,这些都是要在实践中摸索的,这与平时做练习是不同的,但也因为平时有许多的练习基础,会使你做起程序来,更加得心应手。我们要不断发现问题、提出问题,解决问题。

附录(一)参考文献

【1】C程序设计(第三版)谭浩强著

【2】C++面向对象程序设计谭浩强著

【3】数据结构(C语言版)严蔚敏吴伟民著

【4】https://www.360docs.net/doc/e69572646.html,

课程设计(论文)附录(二):

数据结构课程设计成绩评定表

姓名张祥性别男

专业班级09计算机科学与技术(1)班

课程设计题目:矩阵乘法

课程设计答辩或质疑记录:

成绩评定依据:

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年月日

课程设计(论文)源代码:

#include

#include

#include

#include

using namespace std;

void jia()

{

char m1[10],g1[10],f1[10],n1[10]; //辅助变量

int m=0,g=0,f=0,n=0;

int i,j;

printf("\n请输入矩阵A的行数和列数( >0 ):\n");

cin >>m1>>g1;

printf("请输入矩阵B的行数和列数( >0 ):\n");

cin >>f1>>n1;

//字符数组型转换为整型

j=strlen(m1);

for(i=j-1,j=0;i>=0;i--,j++)

m=m+(int)((m1[i]-'0')*pow(10,j)) ;

j=strlen(g1);

for(i=j-1,j=0;i>=0;i--,j++)

g=g+(int)((g1[i]-'0')*pow(10,j)) ;

j=strlen(f1);

for(i=j-1,j=0;i>=0;i--,j++)

f=f+(int)((f1[i]-'0')*pow(10,j)) ;

j=strlen(n1);

for(i=j-1,j=0;i>=0;i--,j++)

n=n+(int)((n1[i]-'0')*pow(10,j)) ;

if(m==f&&g==n&&strcmp(m1,"0")>0 && strcmp(m1,"9")<=0

&& strcmp(n1,"0")>0 && strcmp(n1,"9")<=0)

{ //判断能否相加以及行列是否为数字

//矩阵a

课程设计(论文)FILE *fpa;

printf("请输入矩阵A的元素\n\n\n");

system("input-a.txt");

fpa=fopen("input-a.txt","r"); //读文件input-a.txt

if(fpa==NULL)

{

printf("文件写打开失败");

exit (0);

}

double **a=NULL;/*二级指针用来代表一个二维数组,在声明指针的时候将其赋值为NULL;

释放后再赋值为NULL在一些进行有效性判断的地方用

a==NULL来判断指针是否为空指针*/

a=(double**)malloc(m*sizeof(double*));/*这句是动态定义二维数组的行数。

新的标准ANSI C规定malloc函数的返回值类型为void型,所以需要强制转化为double型的指针后才能赋给a。*/

for(i=0;i

a[i]=(double*)malloc(g*sizeof(double));/*这句是动态定义二维数组的列数。*/

for(i=0;i

for(j=0;j

fscanf(fpa,"%lf",&a[i][j]); //从文件读取数据fclose(fpa);

//输出矩阵A

printf("***** 矩阵A *****\n");

for(i=0;i

{

for(j=0;j

printf("%g\t",a[i][j]); //实数格式

printf("\n");

}

//矩阵B

课程设计(论文)FILE *fpb;

printf("请输入矩阵B的元素\n\n\n");

system("input-b.txt");

fpb=fopen("input-b.txt","r");

if(fpb==NULL)

{

printf("文件写打开失败");

exit (0);

}

double **b=NULL;

b=(double**)malloc(g*sizeof(double *));

for(i=0;i

b[i]=(double*)malloc(n*sizeof(double));

for(i=0;i

for(j=0;j

fscanf(fpb,"%lf",&b[i][j]);

fclose(fpb);

//输出矩阵B

printf("***** 矩阵B *****\n");

for(i=0;i

{

for(j=0;j

printf("%g\t",b[i][j]); //实数格式

printf("\n");

}

//矩阵加法

printf("***** 矩阵加法*****\n");

double **result=NULL;/*存放计算结果的二维数组*/

result=(double**)malloc(m*sizeof(double*));

for(i=0;i

result[i]=(double*)malloc(n*sizeof(double));

for(i=0;i

for(j=0;j

result[i][j]=0;/*初始化为0*/

课程设计(论文)for(i=0;i

for(j=0;j

result[i][j]=a[i][j]+b[i][j];

//屏幕输出矩阵加法

for(i=0;i

{

for(j=0;j

printf("%g\t",result[i][j]); //实数格式

printf("\n");

}

//文件输出矩阵加法

FILE *fpc;

fpc=fopen("output-c.txt","wb");

if(fpc==NULL)

{

printf("文件打开失败");

exit(0);

}

for(i=0;i

{

for(j=0;j

fprintf(fpc,"%g\t",result[i][j]);

fprintf(fpc,"\r\n" );

}

fclose(fpc);

system("output-c.txt");

//释放

for(i=0;i

{

free(a[i]);

a[i]=NULL;

free(result[i]);

result[i]=NULL;/*将之前分配的内存空间释放后,把指针置

课程设计(论文)0是一个好的习惯*/

}

free(a);

a=NULL;

free(result);

result=NULL;

for(i=0;i

{

free(b[i]);

b[i]=NULL;

}

free(b);

b=NULL;

}

else

printf("\n\t\t\t***** 输入有误! *****\n\n");

}

void jian()

{

char m1[10],g1[10],f1[10],n1[10]; //辅助变量

int m=0,g=0,f=0,n=0;

int i,j;

printf("\n请输入矩阵A的行数和列数( >0 ):\n");

cin >>m1>>g1;

printf("请输入矩阵B的行数和列数( >0 ):\n");

cin >>f1>>n1;

//字符数组型转换为整型

j=strlen(m1);

for(i=j-1,j=0;i>=0;i--,j++)

m=m+(int)((m1[i]-'0')*pow(10,j)) ;

j=strlen(g1);

for(i=j-1,j=0;i>=0;i--,j++)

课程设计(论文)g=g+(int)((g1[i]-'0')*pow(10,j)) ;

j=strlen(f1);

for(i=j-1,j=0;i>=0;i--,j++)

f=f+(int)((f1[i]-'0')*pow(10,j)) ;

j=strlen(n1);

for(i=j-1,j=0;i>=0;i--,j++)

n=n+(int)((n1[i]-'0')*pow(10,j)) ;

if(m==f&&g==n&&strcmp(m1,"0")>0 && strcmp(m1,"9")<=0

&& strcmp(n1,"0")>0 && strcmp(n1,"9")<=0)

{ //判断能否相加以及行列是否为数字

//矩阵a

FILE *fpa;

printf("请输入矩阵A的元素\n\n\n");

system("input-a.txt");

fpa=fopen("input-a.txt","r"); //读文件input-a.txt

if(fpa==NULL)

{

printf("文件写打开失败");

exit (0);

}

double **a=NULL;/*二级指针用来代表一个二维数组,在声明指针的时候将其赋值为NULL;

释放后再赋值为NULL在一些进行有效性判断的地方用

a==NULL来判断指针是否为空指针*/

a=(double**)malloc(m*sizeof(double*));/*这句是动态定义二维数组的行数。

新的标准ANSI C规定malloc函数的返回值类型为void型,所以需要强制转化为double型的指针后才能赋给a。*/

for(i=0;i

a[i]=(double*)malloc(g*sizeof(double));/*这句是动态定义二维数组的列数。*/

for(i=0;i

for(j=0;j

课程设计(论文)fscanf(fpa,"%lf",&a[i][j]); //从文件读取数据

fclose(fpa);

//输出矩阵A

printf("***** 矩阵A *****\n");

for(i=0;i

{

for(j=0;j

printf("%g\t",a[i][j]); //实数格式

printf("\n");

}

//矩阵B

FILE *fpb;

printf("请输入矩阵B的元素\n\n\n");

system("input-b.txt");

fpb=fopen("input-b.txt","r");

if(fpb==NULL)

{

printf("文件写打开失败");

exit (0);

}

double **b=NULL;

b=(double**)malloc(g*sizeof(double *));

for(i=0;i

b[i]=(double*)malloc(n*sizeof(double));

for(i=0;i

for(j=0;j

fscanf(fpb,"%lf",&b[i][j]);

fclose(fpb);

//输出矩阵B

printf("***** 矩阵B *****\n");

for(i=0;i

{

计算器课程设计报告

课设报告 福建工程学院软件学院 题目:汇编计算器 班级: 1301 姓名 学号: 指导老师: 日期:

目录 1、设计目的 (3) 2、概要设计 (3) 2.1 系统总体分析 (3) 2.2 主模块框图及说明 (3) 3、详细设计 (4) 3.1 主模块及子模块概述 (4) 3.2各模块详运算 (4) 4、程序调试 (7) 4.1 运行界面分析 (7) 算法分析 (7) 4.2 调试过程与分析 (9) 5、心得体会 (11) 5.1 设计体会 (11) 5.2 系统改进 (11) 附录: (11)

1、设计目的 本课程设计是一次程序设计方法及技能的基本训练,通过实际程序的开发及调试,巩固课堂上学到的关于程序设计的基本知识和基本方法,进一步熟悉汇编语言的结构特点和使用,达到能独立阅读、设计编写和调试具有一定规模的汇编程序的水平。 2、概要设计 用8086汇编语言编写一个能实现四则混合运算、带括号功能的整数计算器程序。程序能实现键盘十进制运算表达式的输入和显示(例如输入:“1+2*(3-4)”),按“=”后输出十进制表示的运算结果。 2.1 系统总体分析 在8086的操作环境下,该计算器分成输入,数据存储,运算功能,输出几个大模块,实现了使用者使用该计算器时输入一个算式,能让系统进行计算。此计算器的实现功能是基本的数学的四则运算,结果范围在0~65535。 2.2 主模块框图及说明 此流程图简要的表现出了所要实现的功能以及一些功能的大概算法,同时也是我编写的一个总体的框架。 程序流程图说明:通过流程图,可以看出程序运行时,首先输出提示语气,当用户输入后,程序根据所输入内容进行判断,通过判断的结果来决定调用哪个功能模块,首要先要要判断的是否为0-9,“+”“-”“*”“/”这些字符,若不是就会报错,实则根据运算符号调用其功能模块完成运算。最后将运算的结果显示在主频幕上,返回主程序,使用户可以重新输入。

C++课程设计报告--小型特殊计算器

课程设计报告 课程:面向对象程序设计学号: 姓名: 班级: 教师:

课程设计名称:小型特殊计算器 1.设计内容: 实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特殊计算。程序可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现集合的求交集、并集、子集的运算。 2.设计目的与要求: 2.1设计目的 达到熟练掌握C++语言的基本知识和技能; 基本掌握面向对象程序设计的基本思路和方法; 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2.2设计要求 要求利用面向对象的方法以及C++的编程思想来完成系统的设计; 要求在设计的过程中,建立清晰的类层次; 在系统的设计中,至少要用到面向对象的一种机制。 3.系统分析与设计 3.1主要知识点 运算符重载增加了C++语言的可扩充性。运算符的重载实际上就是一种函数调用的形式,可以用成员函数重载运算符,就是将运算符重载定义为一个类的成员函数的形式;也可以用友元函数重载。用友元重载运算符的友元函数是独立于类以外的一般函数。 3.2关键技术 程序中每一种数据类型用一个类来实现,共设计了4个类。复数类complex,矩阵类matrix,有理数类rational以及集合类set。每一种类都定义了相应的运算符重载函数。具体定义如下所示: (1)类complex 类complex中,成员变量image表示虚部,real表示实部。成员函数print()用来显示数据。运算符重载函数都是用友元函数来实现的。分别重载+、-、*、/运算符。 (2)类matrix 类matrix中,成员变量elems用来存放矩阵的所有元素,rows表示矩阵的行,cols表示矩阵的列。成员函数SetElems()用来给矩阵中的每一个元素赋值,Disp()用来显示矩阵中的所有元素。其它友元函数分别重载+、-、*、/运算符。 (3)类rational 类rational中,有两个成员变量:denominator用来表示有理数的分母,numerator表示有理数的分子。有理数成员函数print()用来显示有理数,optimization()用来优化有理数函数。友元函数real()用来将有理数转换为实数,其它友元函数分别重载+、-、*、/运算符。 (4)类set

简单计算器c++课程设计

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

电力系统潮流计算课程设计报告

课程设计报告 学生姓名:学号: 学院:电气工程学院 班级: 题目: 电力系统潮流计算 职称: 副教授 指导教师:李翠萍职称: 副教授 2014年 01月10日

1 潮流计算的目的与意义 潮流计算的目的:已知电网的接线方式与参数及运行条件,计算电力系统稳态运行各母线电压、个支路电流与功率及网损。对于正在运行的电力系统,通过潮流计算可以判断电网母线电压、支路电流和功率是否越限,如果有越限,就应采取措施,调整运行方式。对于正在规划的电力系统,通过潮流计算,可以为选择电网供电方案和电气设备提供依据。潮流计算还可以为继电保护和自动装置定整计算、电力系统故障计算和稳定计算等提供原始数据。 潮流计算的意义: (1)在电网规划阶段,通过潮流计算,合理规划电源容量及接入点,合理规划网架,选择无功补偿方案,满足规划水平的大、小方式下潮流交换控制、调峰、调相、调压的要求。 (2)在编制年运行方式时,在预计负荷增长及新设备投运基础上,选择典型方式进行潮流计算,发现电网中薄弱环节,供调度员日常调度控制参考,并对规划、基建部门提出改进网架结构,加快基建进度的建议。 (3)正常检修及特殊运行方式下的潮流计算,用于日运行方式的编制,指导发电厂开机方式,有功、无功调整方案及负荷调整方案,满足线路、变压器热稳定要求及电压质量要求。 (4)预想事故、设备退出运行对静态安全的影响分析及作出预想的运行方式调整方案。 2 潮流计算数学模型 1.变压器的数学模型: 变压器忽略对地支路等值电路:

2.输电线的数学模型: π型等值电路: 3 数值方法与计算流程 利用牛顿拉夫逊法进行求解,用MATLAB 软件编程,可以求解系统潮流分 布根据题目的不同要求对参数进行调整,通过调节变压器变比和发电厂的电压,求解出合理的潮流分布,最后用matpower 进行潮流分析,将两者进行比较。 牛顿—拉夫逊法 1、牛顿—拉夫逊法概要 首先对一般的牛顿—拉夫逊法作一简单的说明。已知一个变量X 函数为: 0)(=X f 到此方程时,由适当的近似值) 0(X 出发,根据: ,......)2,1() ()() ()() () 1(='-=+n X f X f X X n n n n 反复进行计算,当) (n X 满足适当的收敛条件就是上面方程的根。这样的方 法就是所谓的牛顿—拉夫逊法。 这一方法还可以做下面的解释,设第n 次迭代得到的解语真值之差,即) (n X 的误差为ε时,则: 0)()(=+εn X f 把)() (ε+n X f 在) (n X 附近对ε用泰勒级数展开 0......)(! 2)()()()(2 )() () (=+''+ '+=+n n n n X f X f X f X f εεε 上式省略去2ε以后部分 0)()()()(≈'+n n X f X f ε

计算机科学与专业技术学院课程设计成绩单

计算机科学与技术学院课程设计成绩单

————————————————————————————————作者:————————————————————————————————日期:

计算机科学与技术学院课程设计成绩单 课程名称:数据库系统原理指导教师: 姓名性别学号班级 综合成绩成绩等级 程序运行情况 (占总成绩20%) □能正确运行□基本能正确运行□能运行但结果不完善 (20分)(15分)(10分) 程序功能的完善 程度 (占总成绩10%)□完善□基本完善□不完善(10分)(8分)(5分) 程序结构的合理 性 (占总成绩10%)□合理□基本合理□不太合理(10分)(8分)(5分) 对问题的答辩情况 (占总成绩40%)□概念正确有创新□能正确回答所有问题□基本能正确回答(40分)(35分)(30分) □部分问题回答概念不清晰 (20分) 学生的工作态度与独立工作能力(占总成绩10%)□工作态度认真能独立完成任务□工作态度认真但独立性较差(10分)(8分) □工作态度基本认真但缺乏独立性 (5分) 设计报告的规范 性 (占总成绩10%)□符合规范□基本符合规范□规范性较差(10分)(8分)(5分) 优秀:90分~100分良好:80分~89分中等:70~79分及格:60~69分不及格0分~59分 武汉科技大学计算机科学与技术学院制表

计算机科学与技术学院 课程设计报告 课程名称:数据库系统原理专业: 班级:级班学号: 姓名: 指导老师:

网上选课系统 一、实验目的 利用一种DBMS作为设计工具,理解并应用课程中关于数据库设计的相关理论,能按照设计流程完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够应用各个阶段的典型工具 二、设备与环境 (1) 硬件设备:PC机一台 (2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2000等。 三、实验内容 完整实践应用数据库设计的工程过程:需求分析\概念设计\逻辑设计\物理设计和实施: (1)需求分析:选定一个应用,对所设计的数据库系统有一定的调研分析,其结果应该以 简单的需求分析说明书\数据字典和数据流图(2级数据流即可)表示; (2)概念分析:使用E-R图作为描述工具.描述出局部和全局的E-R图; (3)逻辑设计:将E-R图转化为相应的关系模式,并根据范式理论进行优化分析,关系模 式不少于3个; (4)物理设计:根据需要设计必要的索引等结构; (5)实施:以某种DBMS为工具创建出完整的数据库.在数据库中要表现出的知识点包括 ①登录控制 (标准登录或混合登录) ②数据完整性(参照完整性、实体完整性、自定义完整性(包括触发器) ③设置用户,并相应设计用户的权限和角色(用户设计至少3个,有不同的权限) ④以游标或存储过程完成相关操作至少2个,以文件方式保存 (6)以上内容,请详细描述,并有必要抓图. 四、实验结果及分析 1.需求分析 随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多公共选修课,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在认为统计过程中不可避免的出现差错的情况。这给广大的老师和学生带来诸多的不便,管理起来也相当困难。使用网上选课系统可以提前进行网上选课,并且选课以后学生还可以在查看和更改,随意选择各个老师的课程,老师管理起来也比较方便。鉴于

PSA_SP在电力系统潮流计算中的应用研究毕业论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名):

年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据 库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

电力系统潮流计算课程设计报告

课程设计报告 学生:学号: 学院: 班级: 题目: 电力系统潮流计算课程设计

课设题目及要求 一 .题目原始资料 1、系统图:两个发电厂分别通过变压器和输电线路与四个变电所相连。 2、发电厂资料: 母线1和2为发电厂高压母线,发电厂一总装机容量为( 300MW ),母线3为机压母线,机压母线上装机容量为( 100MW ),最大负荷和最小负荷分别为50MW 和20MW ;发电厂二总装机容量为( 200MW )。 3、变电所资料: (一) 变电所1、2、3、4低压母线的电压等级分别为:35KV 10KV 35KV 10KV (二) 变电所的负荷分别为: 60MW 40MW 40MW 50MW (三) 每个变电所的功率因数均为cos φ=0.85; 变电所1 变电所母线 电厂一 电厂二

(四) 变电所1和变电所3分别配有两台容量为75MVA 的变压器,短路损 耗414KW ,短路电压(%)=16.7;变电所2和变电所4分别配有两台容 量为63MVA 的变压器,短路损耗为245KW ,短路电压(%)=10.5; 4、输电线路资料: 发电厂和变电所之间的输电线路的电压等级及长度标于图中,单位长度的电阻为Ω17.0,单位长度的电抗为Ω0.402,单位长度的电纳为S -610*2.78。 二、 课程设计基本容: 1. 对给定的网络查找潮流计算所需的各元件等值参数,画出等值电路图。 2. 输入各支路数据,各节点数据利用给定的程序进行在变电所在某一负荷 情况下的潮流计算,并对计算结果进行分析。 3. 跟随变电所负荷按一定比例发生变化,进行潮流计算分析。 1) 4个变电所的负荷同时以2%的比例增大; 2) 4个变电所的负荷同时以2%的比例下降 3) 1和4号变电所的负荷同时以2%的比例下降,而2和3号变电所的 负荷同时以2%的比例上升; 4. 在不同的负荷情况下,分析潮流计算的结果,如果各母线电压不满足要 求,进行电压的调整。(变电所低压母线电压10KV 要求调整围在9.5-10.5 之间;电压35KV 要求调整围在35-36之间) 5. 轮流断开支路双回线中的一条,分析潮流的分布。(几条支路断几次) 6. 利用DDRTS 软件,进行绘制系统图进行上述各种情况潮流的分析,并进 行结果的比较。 7. 最终形成课程设计成品说明书。 三、课程设计成品基本要求: 1. 在读懂程序的基础上画出潮流计算基本流程图 2. 通过输入数据,进行潮流计算输出结果 3. 对不同的负荷变化,分析潮流分布,写出分析说明。 4. 对不同的负荷变化,进行潮流的调节控制,并说明调节控制的方法,并 列表表示调节控制的参数变化。 5. 打印利用DDRTS 进行潮流分析绘制的系统图,以及潮流分布图。

单片机计算器的课程设计报告

目录 一、设计任务和性能指标 (1) 1.1设计任务 (2) 1.2性能指标 (2) 二、设计方案 (2) 3 3 4 5 5 6 6 7 7 20 20 20 20 21 参考文献 (21) 附录1、系统硬件电路图 (22) 附录2、硬件实物图 (23) 附录3、器件清单 (24)

一、设计任务和性能指标 1.1设计任务 自制一个单片机最小系统,包括复位电路,采用外部小键盘输入数据,能够实现加法、乘法及一个科学计算,计算结果显示在四位一体的数码管上。 要求用Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要 显 位 监测模块采用二极管和扬声器(实验室用二极管代替)组成电路。 键盘电路采用4*4矩阵键盘电路。 显示模块采用4枚共阳极数码管和74ls273锁存芯片构成等器件构成。 整个单片机的接口电路: P0用于显示输出; P1用于键扫描输入; P2用于数码管位选控制; P3用于键盘扩展(部分运算符输入);

三.系统硬件设计 3.1单片机最小系统 单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。 主控芯片选取STC89C52RC芯片,因其具有良好的性能及稳定性,价格便宜应用方便。 扩展键:“log”,“ln”,“x^2”“小数点”,“开方” 共计25个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连,四行和四列的8个公共端分别接P1.0~P1.7,这样扫描P1口就可以完成对矩阵键盘的扫描,通过对16个按键进行编码,从而得到键盘的口地址,对比P1口德扫描结果和各按键的地址,我们就可以得到是哪个键按下,从而完成键盘的功能。 以下为键盘接口电路的硬件电路图

C++ 科学计算器-课程设计报告

DONGFANG COLLEGE,FUJIAN AGRICULTURE AND FORESTRY UNIVERSITY 课程名称:堆栈计算器 系别:计算机 年级专业:11级计算机科学与技术 学号:1150303040 姓名:蔡新云 任课教师:林励成绩: 2013 年 6 月13 日

引言 堆栈计算器 简介: 计算带括号的数学算式,可以判断优先级,错误判断等功能。友好的操作界面,美观的视觉效果。 截图 界面: 计算演示: 结果:

错误判断: 数据结构:应用了栈,做数值缓存,应用了递归处理括号内算式。其他知识:mfc界面设计;c++类的封装(.h与.cpp分离)。 编译环境:使用了vs2012,通过修改vs2010也可以打开。

程序简单流程图: (注:eval 的代码在下面。。。) 功能实现原理与代码: //栈的实现 //初始化 stack::stack(int len) { lengh=len; date=new double[len]; date[0]=0; top=0; } stack::stack() { date=new double[100]; MFC 文本框 按钮事件 = 事件 Cal.eval() 调用函数eval(),返回结果到文本框 当 =事件 发生 从文本框取出表达式到eval ()函数

date[0]=0; top=0; } //判断为空 bool stack::is_empty() { if(top==0) { return true; } return false; } //进栈 void stack::push(double number) { date[top++]=number; } //出栈 double stack::pop() { if(!is_empty()) return date[--top]; } //calculator类(核心代码) 初始化 calculator::calculator() { error="null"; } 是否为数字 bool calculator::is_num(char num) { if(num<='9' && num>='0'||num=='.') { return true; }

android简单计算器课程设计.

摘要 Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。并且具有很强的使用性。 关键字:Android Java基础计算器

目录 第1章开发工具与环境 (1) 1.1 Android平台 (1) 1.2 Java开发环境 (1) 1.3 Eclipse (1) 1.4 Android程序基础—Android应用程序的构成 (2) 第2章系统分析与设计 (4) 2.1系统的可行性分析 (4) 2.2 系统的需求分析 (4) 2.3 系统的优势 (4) 2.4 系统的流程图 (5) 第3章系统详细设计 (6) 3.1 动作Activity (6) 3.2 布局文件XML (6) 3.3 Activity的详细设计 (7) 3.2 布局文件XML的详细设计 (21) 3.2 系统的运行结果 (24) 结论 (25) 参考文献 (26)

第1章开发工具与环境 1.1 Android平台 1.谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。 2.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。 3.所有的Android应用之间是完全平等的。 4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。 5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。 1.2 Java开发环境 Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE 建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。 1.3 Eclipse

毕业设计论文---基于pscad的配电网潮流计算

太原理工大学 毕业设计(论文)任务书 第1页

第2页

第3页

基于PSCAD/EMTDC的配电网稳态潮流分析与仿真 摘要 在电力系统的正常运行中,随着用电负荷的变化和系统运行方式的改变,网络中的损耗也将发生变化。要严格保证所有的用户在任何时刻都有额定的电压是不可能的,因此系统运行中个节点出现电压的偏移是不可避免的。为了保证电力系统的稳定运行,要进行潮流调节。潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节,因此潮流计算在电力系统的规划设计、生产运行、调度管理及科学研究中都有着广泛的应用。 随着电力系统及在线应用的发展,计算机网络已经基本完善,为电力系统的潮流计算提供了物质基础。电力系统潮流计算是电力系统分析计算中最基本的内容,也是电力系统运行及设计中必不可少的工具。EMTDC/PSCAD仿真作为一种高效的电力系统仿真分析软件,可以较为简单地模拟复杂电力系统, 包括直流输电系统和其相关的控制系统。可利用该仿真软件对电力电子电路进行仿真,本文以电力系统分析为基础以电力系统配电网电路为例对其进行仿真分析,从而进一步熟悉配电网潮流计算的基本知识。 关键词:潮流计算, EMTDC/PSCAD仿真, 电力系统

Analysis and Simulation of the steady state power flow in distribution network based on PSCAD/EMTDC Abstract In the normal operation of the power system, with the change of the mode of operation and system load changes, loss in the network will also change. To ensure strict voltage are rated all users at any time is impossible, so the system is running in a node voltage offset is inevitable. In order to ensure the stable operation of power system, for power flow regulation. Power flow calculation is the realization of power system security and economy of power supply of the necessary and important work segment, so the load flow calculation in power system planning and design, operation, management and scientific research have a wide range of applications. With the development of power system and online application, the computer network has been basically perfect, provides the material basis for the power system load flow calculation. Power flow calculation is the basic content of power system analysis, design and operation of power system is an essential tool. EMTDC/PSCAD simulation for power system simulation is an efficient analysis software, can be a relatively simple simulation of complex power system, including the DC transmission system and its related control system. For simulation of power electronic circuit by using the simulation software, based on the analysis of power system based on the circuit of power system distribution network as an example simulation analysis on the basic knowledge, thus further familiar with the distribution network power flow calculation. Keywords: power flow calculation, EMTDC/PSCAD simulation, power system

科学计算器课程设计报告C课程设计修订稿

科学计算器课程设计报告C课程设计 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

计算机科学与技术学部 C++课程设计 题目科学计算器 学部计算机科学与技术 班级计科1103 指导教师李军 姓名刘明 学号 2012年6月27日

摘要 计算器的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。 在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。此系统在Windows 7环境下,使用VC++ 进行编写。 简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。并且包含清除,退格功能等。我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。 关键词:计算器;运算;VC++等

JAVA实现计算器课程设计

JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2009年11月10日——2009年12月20日 计算器的设计 目录 第一章绪 论 ..................................................................... .. (2)

1.1 开发环 境 ..................................................................... . (2) 1.2 基本功能介 绍 ..................................................................... ......... 2 第二章系统设 计 ..................................................................... (3) 2.1 系统流程 图 ..................................................................... . (3) 2.2 系统功能框 图 ..................................................................... (3) 2.3 需求分 析 ..................................................................... ................ 4 第三章软件设 计 ..................................................................... (5) 3.1 界面设 计 ..................................................................... . (5) 3.2 代码设 计 .....................................................................

简易计算器课程设计

评阅教师评语:课程设计成绩 考勤成绩 实做成绩 报告成绩 总评成绩指导教师签名: 课程设计报告 论文题目基于ARM的简易计算器设计 学院(系):电子信息与自动化学院 班级:测控技术与仪器 学生姓名:同组同学: 学号:学号: 指导教师:杨泽林王先全杨继森鲁进时间:从2013年 6 月10 日到2013年 6 月28 日 1

目录 1、封面—————————————————————P1 2、目录—————————————————————P2 3、前言—————————————————————P3 4、关键字————————————————————P3 5、原理与总体方案————————————————P3 6、硬件设计———————————————————P6 7、调试—————————————————————P10 8、测试与分析——————————————————P11 9、总结—————————————————————P13

10、附件—————————————————————P14 前言 近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔的市场前景。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,或显示在LCD上,或传输到远端PC上。 本文通过周立功的LPC2106芯片完成的简易计算器,正是对嵌入式应用的学习和探索。 一、摘要: 计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领域得到了广泛地应用。本设计就是先通过C语言进行相应程序的编写然后在ADS中进行运行最后导入PROTUES进行仿真。最后利用ARM中的LPC2106芯片来控制液晶显示器和4X4矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。 关键字:中断,扫描,仿真,计算 二、原理与总体方案: 主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零。程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。最后将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。 电路设计与原理:通过LPC2106芯片进行相应的设置来控制LCD显示器。 而通过对键盘上的值进行扫描,把相应的键值通过MM74C922芯片进行运算从而

潮流计算论文_本科论文

目录 1.摘要 (3) 2.题目原始资料 (4) 3.题目分析 (6) 4.题目求解 (7) 1)根据题意要求画出等值电路 (7) 2)读程序画出拉夫逊法的流程图 (8) 3)变电所负荷为题目所给数据进行求解 (8) 4)编写程序并运行 (10) 5)具体调压调损耗过程 (10) 1.改变变压器变比调压 (10) 2.改变发电机机端电压调压 (12) 3.负荷按照一定比例变化的潮流计算分析 (15) 4.轮流断开支路双回线中的一条的潮流计算 (19) 5.仿真并比较 (28) 6.设计心得 (30) 7.参考文献 (31)

摘要 本文运用MATLAB软件进行潮流计算,对给定题目进行分析计算,再应用DDRTS软件,构建系统图进行仿真,最终得到合理的系统潮流。 潮流计算是电力系统最基本最常用的计算。根据系统给定的运行条件,网络接线及元件参数,通过潮流计算可以确定各母线的电压幅值和相角,各元件流过的功率,整个系统的功率损耗。潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节。因此,潮流计算在电力系统的规划计算,生产运行,调度管理及科学计算中都有着广泛的应用。 首先,画出系统的等效电路图,在计算出各元件参数的基础上,应用牛顿—拉夫逊Newton-Raphson法以及MATLAB软件进行计算对给定系统图进行了四种不同负荷下的潮流计算,经过调节均得到符合电压限制及功率限制的潮流分布。 其次,牛顿—拉夫逊Newton-Raphson法具有较好的收敛性,上述计算过程经过四到五次迭代后均能收敛。根据运算结果,分析各支路损耗和系统总损耗。 最后,应用DDRTS软件,构建系统图,对给定负荷重新进行分析,潮流计算后的结果也能满足相应的参数要求。 关键词:牛顿-拉夫逊法 MATLAB DDRTS 潮流计算

计算器课程设计报告

高级语言程序(JAVA)课程设计报告 系部名称:商学系专业班级:营销*** 学生姓名:墨璇 墨兰学号: ********** ********** 指导教师:王芬教师职称:讲师 2014年06月26日

目录 一、课程设计目的及意义 .................................... 错误!未定义书签。 二、课程设计任务 .......................................... 错误!未定义书签。 2.1程序设计要求....................................... 错误!未定义书签。 三、课程设计时间 .......................................... 错误!未定义书签。 四、课程设计地点 .......................................... 错误!未定义书签。 五、课程设计内容 .......................................... 错误!未定义书签。 5.1开发工具与平台..................................... 错误!未定义书签。 (1).开发工具 ...................................... 错误!未定义书签。 (2).开发平台 ...................................... 错误!未定义书签。 5.2设计思路........................................... 错误!未定义书签。 5.3 程序测试 .......................................... 错误!未定义书签。 5.4实验总结........................................... 错误!未定义书签。 六、课程设计感想 .......................................... 错误!未定义书签。 七、附录(程序代码) ...................................... 错误!未定义书签。

VB科学计算器课程设计

湖南医药学院 VB计算器课程设计题目: VB科学计算器 院(系)别临床医学院 专业临床医学 班级本临一班 学号 2015101010121 姓名夏铭锴 指导教师李跃强 二○一六年四月

目录 一、设计内容及要求 二、设计原始资料 三、设计完成后提交的文件和图表设计 四、进程安排 五、主要参考资料 [摘要] 用VB制作这个程序的简单计算器,它包括一个标准的计算器和一个科学计算器。它可以实现简单的加减乘除四则运算,数字的平方、平方根,正弦、余弦、正切,倒数、指数函数、对数函数,角度、弧度、梯度的转换,以及各进制的相互转换。而且它的功能还有退格,清除当前数据,清除所有数据,复制数据,粘贴数据。 在这个计算器的程序中,我用到了单行选择语句If…Then…Else…, 块语句if…then…end if,If语句的嵌套,多条件选择语句Select Case,而且还用到了按钮、文本框、框架、单选按钮控件,菜单的设计。 在此报告中我重点叙述了计算机的各个功能及用法。特别是进制间的转换和数字与运算符之间的联系。。虽然描述的不太完整,但我会尽力使用系统结构图,划分多个模块,让大家明白我设计的运算器的功能的。 [关键词] Visual Basic;计算器;对象;代码 1

2

3

四、进程安排 (1)创建应用程序的界面。 (2)设置属性。 (3)编写代码。 4

附页: 设计原始资料 Private Sub Command1_Click() '删除数字的最后一位If Label3.Caption <> "" Then Label3.Caption = Left(Label3.Caption, Len(Label3.Caption) - 1) Else c = MsgBox("内容已为空!不可删除一位!", 49, "注意!") End If End Sub Private Sub Command10_Click() '输入数字6 Label3.Caption = Label3.Caption + Command10.Caption End Sub Private Sub Command11_Click() If Label3.Caption <> "" Then '输入符号* Label1.Caption = Label3.Caption Label2.Caption = Command11.Caption Label3.Caption = "" Else c = MsgBox("请输入数据后输入符号!", 49, "注意!") End If End Sub 5

相关文档
最新文档