Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

курсовой

.doc
Скачиваний:
20
Добавлен:
09.06.2015
Размер:
2.42 Mб
Скачать

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ 3

Введение 4

1 Теоретическая часть 5

3 Программа строящая графики составляющих (1), (2), (3) 9

ЗАКЛЮЧЕНИЕ 11

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 12

Приложение А 13

Приложение Б 14

Введение

В данной курсовой работе поставлена задача рассчитать составляющие магнитного поля заземленного кабеля длинной 2L и построить их графики. Для решения поставленной задачи будут использованы высокоуровневые языки программирования C и MATLAB. В языке C будут проводится расчеты составляющих магнитного поля, заданных по формулам (1), (2), (3), и запись полученных данных в текстовый файл, для считывания и обработки этих данных впоследствии в языке MATLAB. Для выполнения задачи по построению графиков составляющих магнитного поля будет использован пользовательский графический интерфейс. Программа будет считывать данные, полученные в ходе выполнения задачи по вычислению составляющих магнитного поля и построить трехмерные графики этих составляющих.

1 Теоретическая часть

Элементарная частица- собирательный термин, относящийся к микрообъектам в субъядерном масштабе, которые невозможно расщепить на составные части [3].

Постоянный магнит - изделие из магнитотвёрдого материала с высокой остаточной магнитной индукцией, сохраняющее состояние намагниченности в течение длительного времени. Постоянные магниты изготавливаются различной формы и применяются в качестве автономных (не потребляющих энергии) источников магнитного поля [3].

Электрическое поле - один из двух компонентов электромагнитного поля, представляющий собой векторное поле, существующее вокруг тел или частиц, обладающих электрическим зарядом, а также возникающий при изменении магнитного поля (например, в электромагнитных волнах) [3].

Магнитная индукция - векторная величина, являющаяся силовой характеристикой магнитного поля (его действия на заряженные частицы) в данной точке пространства [3].

Векторное поле - это отображение, которое каждой точке рассматриваемого пространства ставит в соответствие вектор с началом в этой точке. Например, вектор скорости ветра в данный момент времени изменяется от точки к точке и может быть описан векторным полем [3].

Напряжённость магнитного поля - векторная физическая величина, равная разности вектора магнитной индукции и вектора намагниченности [3].

Электрическое поле - один из двух компонентов электромагнитного поля, представляющий собой векторное поле, существующее вокруг тел или частиц, обладающих электрическим зарядом, а также возникающий при изменении магнитного поля (например, в электромагнитных волнах). Электрическое поле непосредственно невидимо, но может быть обнаружено благодаря его силовому воздействию на заряженные тела [3].

Однородное поле - это электрическое поле, в котором напряжённость одинакова по модулю и направлению во всех точках пространства. Приблизительно однородным является поле между двумя разноимённо заряженными плоскими металлическими пластинами. В однородном электрическом поле линии напряжённости направлены параллельно друг другу [3].

Электромагнитное поле - фундаментальное физическое поле, взаимодействующее с электрически заряженными телами, а также с телами, имеющими собственные дипольные и мультипольные электрические и магнитные моменты. Представляет собой совокупность электрического и магнитного полей, которые могут, при определённых условиях, порождать друг друга, а по сути являются одной сущностью, формализуемой через тензор электромагнитного поля [3].

Электромагнитное излучение - распространяющееся в пространстве возмущение (изменение состояния) электромагнитного поля [3].

Электромагнитное взаимодействие - одно из четырёх фундаментальных взаимодействий. Электромагнитное взаимодействие существует между частицами, обладающими электрическим зарядом [3].

Электромагнитная индукция - явление возникновения электрического тока в замкнутом контуре при изменении магнитного потока, проходящего через него[3].

Поле в физике - физический объект, классически описываемый математическим скалярным, векторным, тензорным, спинорным полем (или некоторой совокупностью таких математических полей), подчиняющимся динамическим уравнениям (уравнениям движения, называемым в этом случае уравнениями поля или полевыми уравнениями- обычно это дифференциальные уравнения в частных производных) [3].

2 Расчет магнитных составляющих поля прямолинейного заземленного кабеля

Текст программы, вычисляющей составляющие магнитного поля по заданным формулам (1), (2), (3), с использованием динамических массивов и функции

#include "stdafx.h"

#include "math.h"

#include "malloc.h"

#include "conio.h"

double *pole(double z,double x,double j,double kk)

{

int v,i,L=1;

double forR,forR1, forR2;

double schet,schet1,schet2;

double schet3, schet4, schet5, schet6, schet7, schet21, schet31; double schet41, schet51, schet12, schet22, schet32,Hy1;

double *r,*Hy,*r1,*r2,*Hx,*Hz,*yk;

yk=(double *)malloc(2 * sizeof(double));

r=(double *)malloc(2 * sizeof(double));

Hy=(double *)malloc(2 * sizeof(double));

r1=(double *)malloc(2 * sizeof(double));

r2=(double *)malloc(2 * sizeof(double));

Hx=(double *)malloc(2 * sizeof(double));

Hz=(double *)malloc(2 * sizeof(double));

v=0;

for (i=0;i<kk;i++)

{

v=i;

yk[i]=v;

yk=(double *)realloc(yk, (i+2)*sizeof(double));

forR=((yk[i]*yk[i])+(z*z));

r[i]=sqrt(t);

r=(double *)realloc(r, (i+2)*sizeof(double));

forR 1=(((L-x)*(L-x))+(yk[i]*yk[i]));

r1[i]=sqrt(t1);

r1=(double *)realloc(r1, (i+2)*sizeof(double));

forR2=(((L+x)*(L+x))+(yk[i]*yk[i]));

r2[i]=sqrt(t2);

r2=(double *)realloc(r2, (i+2)*sizeof(double));

schet=j/4.0*3.14;

schet1=z/pow(r[i],2.0);

schet2=(L+x)/sqrt(pow((double)(L+x),2.0)+pow(r[i],2.0));

schet4=(L-x)/sqrt(pow((double)(L-x),2.0)+pow(r1[i],2.0));

schet5=(L-x)/pow(r1[i],2.0);

schet6=1-(z/sqrt(pow(r1[i],2.0)+pow((double)z,2.0)));

schet7=(L+x)/pow(r2[i],2.0)*

(1(z/sqrt(pow(r2[i],2.0)+pow((double)z,2.0))));

Hy[i]=p*(o*(l-k)-(m*(n)+u));

Hy=(double *)realloc(Hy, (i+2)*sizeof(double));

schet11=j/4.0*3.14;

schet21=yk[i]/pow(r1[i],2.0);

schet31=1-(z/(sqrt(pow(r1[i],2.0)+pow((double)z,2.0))));

schet41=yk[i]/pow(r1[i],2.0);

schet51=(1-(z/(sqrt(pow(r2[i],2.0)+pow((double)x,2.0)))));

Hx[i]=p*(o1*(l1)-k1*(m1));

Hx=(double *)realloc(Hx, (i+2)*sizeof(double));

schet12=(j*yk[i])/4.0*3.14*pow(r[i],2);

schet22=(L+x)/(sqrt(pow((double)(L+x),2)+pow(r[i],2)));

schet32=(L-x)/(sqrt(pow((double)(L-x),2)+pow(r[i],2)));

Hz[i]=p*(o2+l2);

Hz=(double *)realloc(Hz, (i+2)*sizeof(double));

}

yk[i]=NULL;

r[i]=NULL;

r1[i]=NULL;

r2[i]=NULL;

Hy[i]=NULL;

Hx[i]=NULL;

Hz[i]=NULL;

for (i=0;i<kk;i++)

{

printf("%.4lf;,%.4lf;,%.4lf;\n",Hy[i],Hx[i],Hz[i]);

}

Hz[i]=NULL;

return(Hy);

return(Hx);

return(Hz);

free(yk);

free(r);

free(r1);

free(r2);

free(Hy);

free(Hx);

free(Hz);

}

int main()

{

freopen("output.txt","wt",stdout);

int i;

double z,x,kk,j;

scanf("%lf",&z);

scanf("%lf",&x);

scanf("%lf",&j);

scanf("%lf",&kk);

pole(z,x,j,kk);

}

Результат работы программы записывается в файл “output.txt”

3 Программа строящая графики составляющих (1), (2), (3)

На рисунке 1 представлен результат работы программы, выполняющей построение магнитной составляющей Hy, вычесленной по формуле (1).

Рисунок 1 − зависимость магнитной составляющей Hy

На рисунке 2 представлен результат работы программы, выполняющей построение магнитной составляющей Hx, вычесленной по формуле (2).

Рисунок 2 − зависимость магнитной составляющей Hx

На рисунке 3 представлен результат работы программы, выполняющей построение магнитной составляющей Hz, вычесленной по формуле (3).

Рисунок 3 − зависимость магнитной составляющей Hz

Текст программы, выполняющей считывание данных магнитной составляющей Hy из файла

function [a ] = plt( z,x )

f=fopen('output.txt','rb');

[p n]=fscanf(f,'%f;,%f;,%f;',[3 inf])

a=p(1,1:end);

end

Текст программы, выполняющей считывание данных магнитной составляющей Hx из файла

function [a ] = plt1( z,x )

f=fopen('output.txt','rb');

[p n]=fscanf(f,'%f;,%f;,%f;',[3 inf])

a=p(2,1:end);

end

Текст программы, выполняющей считывание данных магнитной составляющей Hz из файла

function [a ] = plt2( z,x )

f=fopen('output.txt','rb');

[p n]=fscanf(f,'%f;,%f;,%f;',[3 inf])

a=p(3,1:end);

end

ЗАКЛЮЧЕНИЕ

В ходе работы над курсовым проектом были закреплены практические навыки работы в средах программирования высокоуровневых языков СИ и matlab .

В процессе работы были получены и закреплены следующие навыки:

- работа с динамическими массивами;

- работа с циклами;

- обработка массивов;

- работа с файлами;

- решение нелинейных уравнений;

- графическая обработка данных.

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Керниган Брайан У.Язык программирования С/ Брайан У. Керниган, Деннис У.Ритчи- Москва: Вильямс, 2013.-304с.

2. Касаткин А.Н. Электротехника/ А.Н. Касаткин, М.И Немцов- Москва: Академия, 2008.-544с.

3. Сивухин Д.В. Общий курс физики. В 5 т. Том III. Электричество/Д.В. Сивухин -.Москва: ФИЗМАТЛИТ; Изд-во МФТИ, 2004. - 656 с.

Приложение А

На рисунке 4 представлена блок- схема программы, вычисляющей магнитные составляющие Hx, Hy, Hz, вычисленных по формулам (1), (2), (3)

Рисунок 4 − Блок-схема программы, вычисляющей магнитные составляющие поля

Приложение Б

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

Рисунок 5 − Блок-схема функции, вычисляющей магнитные составляющие

14