Определение токов в ветвях электрической цепи c помощью ЭВМ и системы линейных уравнений

 















Контрольная работа

Определение токов в ветвях электрической цепи c помощью ЭВМ и системы линейных уравнений


Аннотация

Введение

. Постановка задачи

. Описание математической модели решения задачи

. Блок-схема алгоритма

. Описание алгоритма

. Характеристика данных и их условие обозначения

. Текст программы

. Анализ результатов

Заключение


Аннотация


Цель - определение токов в ветвях электрической цепи. Ток в цепи не везде одинаковый, и что бы рассчитать его на всех участках, основываясь законами тока и составными цепи.

Решение построено на основе линейных электрических уравнений. Пользуемся методом моделирования. Это удобный метод.

У нас есть система линейных алгебраических уравнений, которую нам надо решить, точнее найти её корни. Воспользуемся методом Гаусса для решения СЛАУ. Ещё есть методы Крамера и обратной матрицы, но нам более приемлем метод Гаусса. Наши корни - это потенциалы узлов в цепи, с помощью которых мы можем рассчитать ток в цепи во всех ветвях.

уравнение программа ток электрическая цепь


Введение


Надо найти силу тока на всех ветвях в электрической цепи методом узловых напряжений. В практических задачах встречаются цепи, имеющие всего две узловые точки. Между узловыми точками может быть включено произвольное количество ветвей. Расчет таких цепей значительно упрощается, если пользоваться методом узлового напряжения.

Задача сводится к математической модели, которая решается системой линейных алгебраических уравнений и которая решается методом Гаусса.

Метод Гаусса - классический метод решения системы линейных алгебраических уравнений (СЛАУ). Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе ступенчатого (или треугольного) вида, из которого последовательно, начиная с последних (по номеру) переменных, находятся все остальные переменные.

Система m линейных уравнений с n неизвестными в линейной алгебре - это система уравнений вида:



Где , , …, - неизвестные, которые надо определить. , , …, - коэффициенты системы - и , , … - свободные члены - предполагаются известными. Индексы коэффициентов () системы обозначают номера уравнения i и неизвестного.

Задача решается с применением ПЭВМ, потому что результаты обработки информации на бумаге, куда менее удобны для пользователя, чем

отображение обработанной информации на экране дисплея.

1. Постановка задачи


Определить токи во всех ветвях электрической цепи (рис.1.1) методом узловых напряжений.

R1=75Ом, R2=76Ом, R3=77Ом, R4=78Ом, R5=79Ом, R6=80Ом, E2=95В, E4=40В, Ik1=0.47A.


Рис. 1.1


В программе необходимо предусмотреть, откуда будет считываться исходные данный - с диалогового окна или из текстового файла. Результаты вычислений сохранить в текстовом файле result.txt. Средствами математического пакета или электронных таблиц проверить результаты работы программы. Найти значения токов во всех ветвях электрической цепи (см. рис. 1.1), проверить баланс мощностей. Для решения системы линейных уравнений воспользоваться методом Гаусса.


2. Описание математической модели решения задачи


Приравниваем потенциал узла d нулю и составим уравнения для потенциалов остальных узлов.




Решив систему одним из известных методов получим значения потенциалов узлов. После чего найдём значения токов в ветвях цепи:




Проверим баланс мощностей


.


Мощность источников



Мощность нагрузок



3. Блок-схема алгоритма


Рис. 3.1. Блок-схема алгоритма функции, решения методом Гаусса

Рис. 3.2. Блок-схема алгоритма решения задания

4. Описание алгоритма


Описание алгоритма функции, решающей методом Гаусса:

-19 - функция метода Гаусса.

-14 - прямой ход метода Гаусса.

-10 - перестановка строк расширенной матрицы, в результате которого избавляемся нулевых элементов на главной диагонали.

-14 - приведения расширенной матрицы к треугольному виду.

-19 - вывод случаев, при которых система имеет бесконечное количество решений и когда система решений не имеет.

Описание алгоритма основной функции:

-36 - весь алгоритм решения задания.

-9 - последовательный ввод данных.

- вызов функции метода Гаусса.

-16 - проверка на случаи, когда система имеет бесконечное количество решений и когда система решений не имеет.

-21 - обратный ход матрицы, которым вычисляются сами решения системы линейных алгебраических уравнений.

-23 - ввод массива токов в ветвях цепи.

-27 - определение мощностей источников и нагрузки из полученных данных.

-30 - вывод значений токов в ветвях цепи на экран и в файл.

-32 - вывод значений мощностей на экран и в файл.

-35 - проверка на баланс мощностей и вывод ответа.


5. Характеристика данных и их условие обозначения


№ п\пНаименование данныхОбозначение в блок-схемеОбозначение в программеТип переменных01Коэффициенты системыaadouble**02Свободные членыbbdouble*03Потенциалыxxdouble*04Первое сопротивлениеR1 Rdouble*05Второе сопротивлениеR2double*06Третье сопротивлениеR3double*07Четвёртое сопротивлениеR4double*08Пятое сопротивлениеR5double*09Шестое сопротивлениеR6double*10Первый токI1 Idouble*11Второй токI2double*12Третий токI3double*13Четвёртый токI4double*14Пятый токI5double*15Шестой токI6double*16НапряжениеE2E2double17напряжениеE4E4double18ТокIk1Ik1double19Мощность источниковPnagrPnagrdouble20Мощность нагрузокPistPistdouble21СуммаsSdouble22Переменнаяccdouble23КоэффициентMMdouble24Максимальный элементmaxmaxdouble25Количество элементовnNint26Количество элементовmMint27Входной потокFFПоток28Выходной потокffПоток

6. Текст программы


Текст программы на Microsoft Visual C++ 6.0:

#include "stdafx.h"

#include <iostream.h>

#include <math.h>

#include <fstream.h>

#include <iomanip.h>SLAU(double **matrica_a,int n,double *massiv_b,double *x)

{i,j,k,r;c,M,max,s, **a, *b;=new double *[n];(i=0;i<n;i++)[i]=new double[n];=new double [n];(i=0;i<n;i++)(j=0;j<n;j++)[i][j]=matrica_a[i][j];(i=0;i<n;i++)[i]=massiv_b[i];(k=0;k<n;k++)

{=fabs(a[k][k]);=k;(i=k+1;i<n;i++)(fabs(a[i][k])>max)

{=fabs(a[i][k]);=i;

}(j=0;j<n;j++)

{=a[k][j];[k][j]=a[r][j];[r][j]=c;

}=b[k];[k]=b[r];[r]=c;(i=k+1;i<n;i++)

{(M=a[i][k]/a[k][k],j=k;j<n;j++)[i][j]-=M*a[k][j];[i]-=M*b[k];

}

}(a[n-1][n-1]==0)(b[n-1]==0)-1;return -2;

{(i=n-1;i>=0;i--)

{(s=0,j=i+1;j<n;j++)+=a[i][j]*x[j];[i]=(b[i]-s)/a[i][i];

}0;

}(i=0;i<n;i++)[] a[i];[] a;[] b;

}main()

{F;f;result,i,N=3,M=5,p;**a,*b,*x,*R,E2,E4,Ik1,*I,S,Pist,Pnagr;=new double *[N];=new double [M];(i=0;i<N;i++)[i]=new double[N];=new double [N];=new double [N];=new double [M];<<"VbIbirite metod vvoda:"<<endl;<<"Vvod c ekrana - 1"<<endl;<<"Vvod c faula - 2"<<endl;<<"Metod - ";>>p;(p==1)

{<<"R1="; cin>>R[0];<<"R2="; cin>>R[1];<<"R3="; cin>>R[2];<<"R4="; cin>>R[3];<<"R5="; cin>>R[4];<<"R6="; cin>>R[5];<<"E2="; cin>>E2;<<"E4="; cin>>E4;<<"Ik1="; cin>>Ik1;

}

{.open("D:\\111\\123.txt");>>R[0]>>R[1]>>R[2]>>R[3]>>R[4]>>R[5]>>E2>>E4>>Ik1;.close();

}[0][0]=1/R[0]+1/R[1]+1/R[3];[0][1]=-1/R[1];[0][2]=-1/R[3];[1][0]=-1/R[1];[1][1]=1/R[1]+1/R[2]+1/R[5];[1][2]=-1/R[2];[2][0]=-1/R[3];[2][1]=-1/R[2];[2][2]=1/R[2]+1/R[3]+1/R[4];[0]=-E2/R[1]+E4/R[3]+Ik1;[1]=E2/R[1];[2]=-E4/R[3];=SLAU(a,N,b,x);.open("D:\\111\\rezult.txt");(result==0)

{(i=0;i<N;i++)[i]=-x[i];<<"Massiv X"<<endl;(i=0;i<N;i++)<<x[i]<<"\t";<<endl;<<"x[i]=";(i=0;i<N;i++)(i<N-1) f<<x[i]<<"\t";f<<x[i];[0]=0-x[0]/R[0];[1]=x[0]-x[1]+E2/R[1];[2]=x[2]-x[1]/R[2];[3]=x[2]-x[0]+E4/R[3];[4]=0-x[2]/R[4];[5]=x[1]-0/R[5];=E2*I[1]+E4*I[3]-Ik1*I[0]*R[0];<<endl;(i=0,S=0;i<=M;i++)+=I[i]*I[i]*R[i];=S;<<"I[i]=";<<"I[i]=";(i=0;i<=M;i++)

{<<I[i]<<"\t";(i<M-1) f<<I[i]<<"\t";f<<I[i];

}<<endl;<<"Pist="<<Pist<<endl;<<"Pnagr="<<Pnagr<<endl;<<endl;<<"Pist="<<Pist<<endl;<<"Pnagr="<<Pnagr<<endl;(Pist==Pnagr)<<"Balance mojnocteu covnadatt"<<endl;cout<<"Balance mojnocteu ne covnadatt"<<endl;.close();

}if(result==-1)

{<<"beckone4noe mnojectvo rewenii";<<"beckone4noe mnojectvo rewenii";

}if(result==-2)

{<<"net rewenii";<<"net rewenii";

}(i=0;i<N;i++)[] a[i];[] a; [] b; [] x;0;

}


7. Анализ результатов


По условию нам были даны: значения сопротивлений элементов цепи, напряжение в двух ветвях цепи и силу тока в данной точке; схематическая и математическая модель цепи.

Находим корни уравнения системы линейных уравнений, которые является потенциалами во всех ветвях цепи. С помощью которых находим значения токов в ветвях цепи. Проверяем баланс мощностей в цепи по найденным значениям мощностей источников и нагрузок.

Значения токов на ветвях везде разные, это говорит нам о том, что либо напряжения разные, либо сопротивления, по закону Ома .

Подтвердилось, что работать с файлами удобно и просто. А так же, что использование различных математических пакетов и языков программирования для решения различных задач очень удобно и компактно, быстрая переработка информации и максимально точные результаты.

Результаты в MS VC++ 6.0:

X[0]=-4.27091; X[1]=-33.6117; X[2]=0.560234; - корни системы линейных алгебраических уравнений, значения потенциалов в ветвях цепи.

I[0]=0.0569455; I[1]=30.5908; I[2]=0.996749; I[3]=5.34397; I[4]=-0.00709157; I[5]=-33.6117; - значения токов в ветвях цепи.

Pist=3117.87; - значение мощности источников.

Pnagr=163804.51; - значение мощности нагрузок.

Результаты проверки в Scilab:

X[0]=-4.27091; X[1]=-33.6117; X[2]=0.560234; [0]=0.0569455; I[1]=30.5908; I[2]=0.996749; I[3]=5.34397; [4]=-0.00709157; I[5]=-33.6117;=3117.87;=163804.51;

Все результаты совпадают и в MS VC++ и в Scalab.


Заключение


Результаты помогли убедится, что пользоваться методом Гаусса для решения СЛАУ очень удобно, а также даёт правильный результат.

Полученные значения токов показало, что не везде ток в цепи одинаковый, он зависит от составных электрической цепи.

Эта работа помогла освоить тему «Линейные электрические цепи» и научится применять теоретические сведения на практике.

А Также закрепить знания курса «Введение в информатику» и применить их при программировании реальной задачи на основе электрической цепи.

Использование ЭВМ очень помогает точно рассчитать информацию любого уровня, используя при этом малый период времени, что сильно облегчает работу людей.



Контрольная работа Определение токов в ветвях электрической цепи c помощью ЭВМ и системы линейных ура

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ