курсовой
.docСОДЕРЖАНИЕ
СОДЕРЖАНИЕ 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 − Блок-схема функции, вычисляющей магнитные составляющие