电力系统导论实验报告

更新时间:2024-06-24 18:50:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Experiment

Introduction to power

systems

学生姓名: 学 号: 专业班级:

实验名称: 电力系统导论(双语)

2014年 6 月 5 日

CONTENTS

1、EXPERIMENT 1 ........................................................................................................ 1

BUS ADMITTANCE MATRIX ...................................................................................................................... 1-6

2、EXPERIMENT 2 ........................................................................................................ 6

BUS IMPEDANCE MATRIX ....................................................................................................................... 6-13

3、EXPERIMENT 3 ...................................................................................................... 13

GAUSS-SEIDEL AND NEWTON METHOD ................................................................................................. 13-16

4、PERSENAL SUMMARY ...................................................................................... 16

Experiment 1

Bus Admittance Matrix 1. Objective

To write a simple program in MATLAB? for the algorithm of bus admittance matrix.

2. System Requirement

Computer with MATLAB? 6 or above installed.

3. Procedure

1.0 Launch the MATLAB program.

2.0 Go to FILE NEW M-file.

3.0 Write a function Y = The_Node_Admittance_Matrix(TopoStructureAndBranchPara) for the

formation of the bus admittance matrix.

1

4.0 TopoStructureAndBranchPara is the transmission line, cable and transformer input data and

contains five columns parameters. The first two columns are the line bus numbers and the remaining columns contain the line resistance and reactance in per-unit and transformer tap ratio or capacitor of transmission line. 5.0 The function should return the bus admittance matrix.

4. Exercises

Use the written function, Y = The_Node_Admittance_Matrix (TopoStructureAndBranchPara) to obtain the Ybus of the following power system network:

Q1. You are required to write the Ybus topological structure and parameter into a text file. (Hint:

use the matlab text compiler to write down the table 1 data, using the comma to separate the parameters, and save it use the name of 4_Power_System_Data.dbf)

Q2. You are required to write out the program flow figure of forming a nodal admittance matrix. Hint. You are required to compile a program to form the Ybus Matrix, the following program is a

reference program to you.

Figure : One-line diagram of power system

For example ,from the textbook “power system analysis” No.2 edition 3 on page 61~62

Table 1:Transformer and transmissssion Line data From Bus# 1 1 1 2 To Bus# 2 3 4 4 R(p.u) 0.1 0 0.12 0.08 X(p.u) 0.4 0.3 0.5 0.40 B(p.u)or ratio K j0.01528 1.1 j0.01920 J0.01413 Others NodalAdmittanceMatrix = 1.0421 - 8.2429i -0.5882 + 2.3529i 0 + 3.6667i -0.4539 + 1.8911i -0.5882 + 2.3529i 1.0690 - 4.7274i 0 0

2

0 + 3.6667i 0 0 - 3.3333i 0 -0.4539 + 1.8911i 0 0 0.9346 - 4.2616i

5.The flow chart

Figure : The flow chart of Forming Nodal Admittance Matrix

The program is:

%function OutPut=The_Node_Admittance_Matrix(handles) %is a subroutine of PowerSystemCalculation

function OutPut=The_Node_Admittance_Matrix(handles)

%the following program is open a data file and get the Number of % Node and Branch data to form a nodal addmittance matrix

%the following code is open a file and read the data of power system network [fname,pname] = uigetfile('*.dbf','Select the network parametre data-file'); TopoStructureAndBranchPara= csvread(fname);

[NumberOfBranch,NumberOfPara]=size(TopoStructureAndBranchPara); Temporary1=max(TopoStructureAndBranchPara(:,1)); Temporary2=max(TopoStructureAndBranchPara(:,2)); if Temporary1 > Temporary2

NumberOfNode=Temporary1; else

NumberOfNode=Temporary2; end

%The following program is to form the Nodal Admittance Matrix % and the Topologic structure and Branch Parametres are arranged

% I,J,R,X,C/K, and pay attention to the inpedence of transformer is in the % side of Node J and the ratio of transformer 1:K is in the side of Node I for CircleNumber1=1:NumberOfBranch for CircleNumber2=1:NumberOfBranch

NodalAdmittanceMatrix(CircleNumber1,CircleNumber2)=0; end end

for CircleNumber=1:NumberOfBranch

if TopoStructureAndBranchPara(CircleNumber,5) > 0.85

NodalAdmittanceMatrix(TopoStructureAndBranchPara(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara(CircleNumber,1)))=...

3

Experiment 2 Bus Impedance Matrix

NodalAdmittanceMatrix(TopoStructureAndBranchPara(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara(CircleNumber,1)))+...

TopoStructureAndBranchPara(CircleNumber,5)^2/... (TopoStructureAndBranchPara(CircleNumber,3)+... j*TopoStructureAndBranchPara(CircleNumber,4)) ;

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,2),TopoStructureAndBranchPara(CircleNumber,2))=...

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,2),TopoStructureAndBranchPara(CircleNumber,2))+...

1/((TopoStructureAndBranchPara(CircleNumber,3)+j*TopoStructureAndBranchPara(CircleNumber,4)));

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara(CircleNumber,2))=...

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara(CircleNumber,2))...

-TopoStructureAndBranchPara(CircleNumber,5)/...

((TopoStructureAndBranchPara(CircleNumber,3)+j*TopoStructureAndBranchPara(CircleNumber,4)));

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,2),TopoStructureAndBranchPara(CircleNumber,1))=...

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara(CircleNumber,2)); else

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara(CircleNumber,1))=...

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara(CircleNumber,1))+...

+1/(TopoStructureAndBranchPara(CircleNumber,3)+...

j*TopoStructureAndBranchPara(CircleNumber,4))+j*TopoStructureAndBranchPara(CircleNumber,5);

4

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,2),TopoStructureAndBranchPara(CircleNumber,2))=...

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,2),TopoStructureAndBranchPara(CircleNumber,2))+...

+1/(TopoStructureAndBranchPara(CircleNumber,3)+...

j*TopoStructureAndBranchPara(CircleNumber,4))+j*TopoStructureAndBranchPara(CircleNumber,5)

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara( CircleNumber,2))=...

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara( CircleNumber,2))...

-1/(TopoStructureAndBranchPara(CircleNumber,3)+... j*TopoStructureAndBranchPara(CircleNumber,4));

NodalAdmittanceMatrix(TopoStructureAndBranchPara( CircleNumber,2),TopoStructureAndBranchPara(CircleNumber,1))=...

NodalAdmittanceMatrix(TopoStructureAndBranchPara(CircleNumber,1),TopoStructureAndBranchPara( CircleNumber,2)); end end

The result is: NodalAdmittanceMatrix =

1.0421 - 8.2429i -0.5882 + 2.3529i 0 + 3.6667i -0.4539 + 1.8911i

-0.5882 + 2.3529i 1.0690 - 4.7274i 0 0 0 + 3.6667i 0 0 - 3.3333i 0 -0.4539 + 1.8911i 0 0 0.9346 - 4.2616i

5

Experiment 2 Bus Impedance Matrix

Experiment 2

Power Grid

Bus Impedance Matrix 1. Objective

? To write a simple program in MATLAB? for the algorithm of bus impedance matrix.

2. System Requirement

Computer with MATLAB? 6 or above installed.

3. Procedure

1.0 Launch the MATLAB program.

2.0 Go to FILE NEW M-file.

6

3.0 Write a function Z = znbus (z) for the formation of the bus impedance matrix.

4.0 z is the line input and contains three columns. The first two columns are the line bus numbers

and the remaining columns contain the line resistance in per-unit. 5.0 The function should return the bus impedance matrix.

4. Exercises

Use the written function, Z = znbus(z) to obtain the Ybus of the following power system network: Example 1

Figure 3: One-line diagram of power system

For example ,from the textbook “power system analysis” No.2 edition 3 on page 61~62 Table 1:Transformer and transmissssion Line data From Bus# 1 1 To Bus# 2 3 R(p.u) 0.1 0 X(p.u) 0.4 0.3 B(p.u)or ratio K j0.01528 1.1 Others 7

Experiment 2 Bus Impedance Matrix

1 2 4 4 0.12 0.08 0.5 0.40 j0.01920 J0.01413 Q2. You are required to write the Zbus into a text file. (Hint: use the matlab text compiler)

Example 2

For the system shown, form Zbus matrix using the building algorithm

Solution

A line list

8

Apply Kron reduction to eliminate the last row

Hint. You are required to compile a program to form the Zbus Matrix.the following program is a

reference program to you.

The program is:

%function OutPut=The_Node_impedance_Matrix(handles) %is a subroutine of PowerSystemCalculation

function OutPut=The_Node_impedance_Matrix(handles)

%the following program is open a data file and get the Number of % Node and Branch data to form a nodal impedance matrix

%the following code is open a file and read the data of power system network [fname,pname] = uigetfile('*.dbf','Select the network parametre data-file'); Topo_Structure_And_Branch_Para= csvread(fname);

%get the electric power system the number of branch and the parametre of % elements

9

Experiment 2 Bus Impedance Matrix

[NumberOfBranch,NumberOfPara]=size(Topo_Structure_And_Branch_Para); %Temporary1---temporary variable 1 %Temporary2---temporary variable 2

Temporary1=max(Topo_Structure_And_Branch_Para(:,1)); Temporary2=max(Topo_Structure_And_Branch_Para(:,2)); if Temporary1 > Temporary2

NumberOfNode=Temporary1; else

NumberOfNode=Temporary2; end

% The following program is to form the Nodal impedance Matrix % and the Topologic structure and Branch Parametres are arranged

% I,J,R,X,C/K, and pay attention to the inpedence of transformer is in the % side of Node J and the ratio of transformer 1:K is in the side of Node % % set the initial value of Nodal Admittance Matrix to zero for CircleNumber1=1:NumberOfNode

for CircleNumber2=1:NumberOfNode

Nodal_impedance_Matrix(CircleNumber1,CircleNumber2)=0; end end

for CircleNumber=1:NumberOfBranch

if Topo_Structure_And_Branch_Para(CircleNumber,5) > 0.85

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para(CircleNumber,1)))=...

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para(CircleNumber,1)))+Topo_Structure_And_Branch_Para(CircleNumber,5)^2/(Topo_Structure_And_Branch_Para(CircleNumber,3)+... j*Topo_Structure_And_Branch_Para(CircleNumber,4)) ;

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,2),Topo_Structure_And_Branch_Para(CircleNumber,2))=...

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,2),Topo_Structure_And_Branch_Para(CircleNumber,2))+...

1/((Topo_Structure_And_Branch_Para(CircleNumber,3)+j*Topo_Structure_And_Branch_Para(CircleNumber,4)));

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para(CircleNumber,2))=...

10

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para(CircleNumber,2))...

-Topo_Structure_And_Branch_Para(CircleNumber,5)/...

((Topo_Structure_And_Branch_Para(CircleNumber,3)+j*Topo_Structure_And_Branch_Para(CircleNumber,4)));

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,2),Topo_Structure_And_Branch_Para(CircleNumber,1))=...

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para(CircleNumber,2)); else

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para(CircleNumber,1))=...

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para(CircleNumber,1))+...

+1/(Topo_Structure_And_Branch_Para(CircleNumber,3)+...

j*Topo_Structure_And_Branch_Para(CircleNumber,4))+j*Topo_Structure_And_Branch_Para(CircleNumber,5);

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,2),Topo_Structure_And_Branch_Para(CircleNumber,2))=...

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,2),Topo_Structure_And_Branch_Para(CircleNumber,2))+...

+1/(Topo_Structure_And_Branch_Para(CircleNumber,3)+...

j*Topo_Structure_And_Branch_Para(CircleNumber,4))+j*Topo_Structure_And_Branch_Para(CircleNumber,5)

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para( CircleNumber,2))=...

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para( CircleNumber,2))...

-1/(Topo_Structure_And_Branch_Para(CircleNumber,3)+...

11

Experiment 2 Bus Impedance Matrix

j*Topo_Structure_And_Branch_Para(CircleNumber,4));

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para( CircleNumber,2),Topo_Structure_And_Branch_Para(CircleNumber,1))=...

Nodal_impedance_Matrix(Topo_Structure_And_Branch_Para(CircleNumber,1),Topo_Structure_And_Branch_Para( CircleNumber,2)); end end

format short

Nodal_impedance_Matrix*inv(Nodal_impedance_Matrix)

运行结果:

Nodal_impedance_Matrix =

1.0421e+000 -8.2429e+000i -5.8824e-001 +2.3529e+000i 0

-5.8824e-001 +2.3529e+000i 5.8824e-001 -2.3377e+000i 0

0 +3.6667e+000i 0 0

0 0 4.5386e-001 -1.8719e+000i

Nodal_impedance_Matrix =

1.0421e+000 -8.2429e+000i -5.8824e-001 +2.3529e+000i -4.5386e-001 +1.8911e+000i

-5.8824e-001 +2.3529e+000i 1.0690e+000 -4.7274e+000i 0

0 +3.6667e+000i 0 0

-4.5386e-001 +1.8911e+000i 0 9.3463e-001 -4.2616e+000i

ans =

1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i

12

0 +3.6667e+000i 0 0 -3.3333e+000i 0 0 +3.6667e+000i 0 0 -3.3333e+000i 0

-0.0000 - 0.0000i 1.0000 - 0.0000i -0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 - 0.0000i -0.0000 - 0.0000i 1.0000 - 0.0000i -0.0000 0 - 0.0000i 0 + 0.0000i 0.0000 - 0.0000i 1.0000 + 0.0000i

以上就是对阻抗矩阵的验证,其和其逆相乘为单位对角矩阵

Experiment 3

Gauss-Seidel Method 1. Objective

? To write a simple program in MATLAB? for the algorithm to solution of nonlinear algebraic equations;

? Known as the method of successive displacements. 2. Discussion

The most common methods for solving nonlinear algebraic equations are Gauss-Seidel,

Newtow-Rahpson, and quasi-Newton-Raphson methods. We start with one dimensional equations and then generalize to n-dimensional equations. 3. Mathmatics model

Consider the nonlinear equation f(x)?0.The equation is broken into two parts thus:x?g(x). We assume x(0) is an initial \

x(1)?g(x(0))

This process is repeated thus

x(2)?g(x(1))

(n)(n?1)and on the n iteration we have: x?g(x)

th

. If this process is convergent, then the successive solutions approach a value which is declared as the solution. Thus if at some step k?1 we have:

13

Experiment 2 Bus Impedance Matrix

x(k?1)?x(k)??

where e ? is the desired \then we claim the solution has been found to the accuracy specified.

4. System Requirement

Computer with MATLAB? 6 or above installed. 5. Procedure

1.0 Launch the MATLAB program.

2.0 Go to FILE NEW M-file.

3.0 Write a function program of Gauss Seidel Method. 6. Exercises

Example: Using the Gauss-Seidel method to obtain the roots of the equation:

f(x)?x3?6x2?9x?4?0

First the equation is expressed in a different form thus

x??13x?6x2?4?g(x) 9?? 14

And the iteration can proceed. Take a good look at the shape of the iterations! Below is the program showing the process graphically (later showing how to do it iteratively). 7.The flow chart of Gauss Seidel method (Omitted) 8.Reference Program and result.

程序是: clear all clc x0=0.5; n=0;

while (abs(x0^3-6*x0^2+9*x0-4)>0.00001) x0=-(x0^3-6*x0^2-4)/9; y=x0; n=n+1; end

结果是:n=1627 y=x0=0.99818

clear all clc x0=2.5; n=0;

while (abs(x0^3-6*x0^2+9*x0-4)>0.00001) x0=-(x0^3-6*x0^2-4)/9; y=x0; n=n+1; end

结果是:n=7 y=x0=4

仿照高斯--赛德尔法,我们可以写出简单的牛顿法的程序,如下:

x0=0.5; n=0;

while (abs((x0^3-6*x0^2+9*x0-4)/(3*x0^2-12*x0+9))>0.00001) dx0=-(x0^3-6*x0^2+9*x0-4)/(3*x0^2-12*x0+9); x0=x0+dx0; n=n+1; end

结果是:dx0=1.7684e-005 n=15 x0=0.99998 y= -0.875

x0=0.5;

15

牛顿法解方程 Experiment 2 Bus Impedance Matrix

n=0;

while (abs(x0^3-6*x0^2+9*x0-4)>0.00001)

dx0=-(x0^3-6*x0^2+9*x0-4)/(3*x0^2-12*x0+9); x0=x0+dx0; n=n+1; end

结果是: dx0=0.0011305 n=9 x0=0.99887 y= -0.875

x0=3.5; n=0;

while (abs(x0^3-6*x0^2+9*x0-4)>0.00001)

dx0=-(x0^3-6*x0^2+9*x0-4)/(3*x0^2-12*x0+9); x0=x0+dx0; n=n+1; end

结果是:dx0= -2.5283e-006 n=5 x0=4 y= -0.875

Personal Summary:

The experiment of bilingual class is over,here is my personal summary.

In my opinion,first and foremost,I had to acknowledge that I have elementary know the base using of MATLAB,during approximately ten hours’ hard working.Although I have spent ten hours or less on learning this software,I merely grasp the knowledge which is just like the tip of the iceberg.In terms with the application of this software,we just do some simple steps.For instance,the node admittance matrix of node impedance matrix in date input software,the experimental program input last run results,the corresponding node admittance matrix of node impedance matrix is obtained.

Besides,I would say I haven’t master the method of how to edit a program.This is a pity.Nevertheless,I think it is just a program of time .I’ll pay more time on fulfill a deeper study.

Last but not least,I am really appreciate for teacher’s patient teaching and conducting.Thank you very much!

Because the experimental time coincides with exam review time, so I didn't understand a lot of knowledges in the experimental thoroughly, but I still hope the teacher can forgive me.

16

本文来源:https://www.bwwdw.com/article/p253.html

Top