Разработка программы, вычисляющей составляющие магнитного поля
Расчет магнитных составляющих поля прямолинейного заземленного кабеля. Исследование результата работы программы, выполняющей построение магнитной составляющей. Построение графиков. Работа с циклами и динамическими массивами. Графическая обработка данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 26.09.2017 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Теоретическая часть
2. Расчет магнитных составляющих поля прямолинейного заземленного кабеля
3. Программа, строящая графики составляющих (1), (2), (3)
Заключение
Список используемых источников
Приложения
Введение
В данной контрольной работе поставлена задача рассчитать составляющие магнитного поля заземленного кабеля длинной 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 ? Блок-схема функции, вычисляющей магнитные составляющие
Размещено на Allbest.ru
...Подобные документы
Особенности синтаксиса языка программирования С++. Создание панели меню, для получения информации о программе, сохранения результата и выхода из программы. Работа с файлами, двумерными и одномерными динамическими массивами, функциями, строками и циклами.
курсовая работа [782,3 K], добавлен 06.02.2016Преобразование матрицы по заданным правилам. Методика работы с массивами, основанная на классических алгоритмах. Разработка и описание блок-схемы алгоритма. Листинг программы, экраны работы и отладки программы. Инструкция для пользователей программы.
контрольная работа [338,4 K], добавлен 29.01.2013Вывод преобразованной матрицы с новым содержимым вектора. Выдача на печать преобразованных матриц. Построение программы с массивами любой размерности, содержащими произвольные элементы. Расположение в матрице элементов в определенной последовательности.
контрольная работа [74,9 K], добавлен 12.01.2010Символьные типы данных, работа со строками, составление блок-схемы алгоритма и программы для работы с массивами. Организация программы с использованием процедур и функций. Процедуры и функции, использующиеся при обработке файлов; компонентные файлы.
контрольная работа [52,9 K], добавлен 03.10.2010Разработка программы для работы с множеством данных, перечень и работа ее модулей. Проверка работы программы. Реализация поиска элемента в файле по его номеру и добавление элементов в конец уже созданного НД. Возможности и особенности применения программы
курсовая работа [3,5 M], добавлен 22.06.2012Поля редактирования. Каркасное приложение для Win32. Определение класса окна и регистрация его в системе. Считывание значения из поля редактирования. Цикл обработки сообщения. Числовой формат. Схема алгоритма. Вывод результата работы программы на экран.
практическая работа [290,9 K], добавлен 11.10.2008Характеристика и описание массива структур из 3-х элементов. Блок-схемы главной функции main и текст программы на языке Си. Построение графика изменения напряженности поля заряженной частицы. Таблица символических имен, работоспособность программы.
курсовая работа [365,8 K], добавлен 02.02.2010Графическая схема алгоритма выполнения программы определения запасов сырья. Решение задачи с помощью программы MS Excel. Разработка макроса для построения диаграммы. Использование интерфейса программы для работы с таблицей. Разработка базы данных.
курсовая работа [1,2 M], добавлен 24.04.2014Сравнение графиков заданной функции и интерполяционных полиномов на определенном интервале при двух вариантах выбора узлов (равномерно с шагом, по Чебышеву). Создание программы на основе метода Ньютона для построения графиков и расчета значений функции.
контрольная работа [1,1 M], добавлен 07.07.2012Сущность базы данных. Процесс построения концептуальной модели. Построение реляционной модели, создание ключевого поля. Процесс нормализации. Проектирование базы данных в ACCESS. Порядок создание базы данных. Создание SQL запросов и работа в базе данных.
курсовая работа [185,6 K], добавлен 08.11.2008Зарождение и развитие системы MatLab. Порядок выполнения простых вычислений. Построение логической области в графическом окне. Работа с символьными массивами. Написание функции, выполняющей требуемое задание для матриц и векторов любой размерности.
отчет по практике [761,4 K], добавлен 21.10.2015Техническое задание и блок-схема алгоритма программы построения графиков функций. Инструкция по инсталляции и описание работы программного продукта GRAPHIC. Инструкция оператору и ограничения данной версии программы. Программный код приложения.
курсовая работа [391,2 K], добавлен 05.12.2009Изучение баллистикой процессов, протекающих внутри канала ствола при выстреле. Совокупность влияний на полет снаряда, исследование траектории пули в воздухе. Проверка корректности расчетов и обработка в Matlab. Построение графиков и листинг программы.
курсовая работа [1,6 M], добавлен 02.03.2011Написание программы для вычисления функции f(x), изображенной на графике, используя оператор if. Построение графика функции. Составление программы, вычисляющей сумму 101 из последовательно расположенных нечетных чисел. Нахождение корней системы уравнений.
контрольная работа [694,4 K], добавлен 07.08.2013Сущность понятия "код блюда". Алгоритмы обучения и использования программы. Логика работы программы. Общий интерфейс программы. Последовательность обучения программе Lota+. Интерфейс программы в момент выбора параметров и получения общего результата.
курсовая работа [563,6 K], добавлен 01.12.2009Составление алгоритма и разработка в среде программирования Delphi 7 программы, вычисляющей макроэкономические индексы цен. Реализация программы в виде 4 форм и 1 диалогового окна. Описание алгоритма решения задачи. Текст программы, руководство оператора.
курсовая работа [1,4 M], добавлен 04.06.2013Разработка алгоритма и написание программы на языке Turbo Pascal. Построение электронных таблиц, отражающих расчеты за услуги фирмы. Вычисление значения функций и построение их графиков в Excel в одной системе координат. Порядок создания Web-страниц.
курсовая работа [1,9 M], добавлен 18.12.2012Разработка программы для отображения текущих значений полей файлового и необязательного заголовков и предоставление возможности изменения значений. Реализация файлового заголовка COFF для Windows поля и каталоги данных (адреса и размеры таблиц).
курсовая работа [18,9 K], добавлен 23.06.2011Вычисление значения входного и выходного сигналов в n-равноотстоящих точках, вывод на экран таблицы. Структура программы: модули, список идентификаторов функций, интерфейс. Исходный код программы. Проверка расчетов в Maxima и построение графиков.
курсовая работа [1,4 M], добавлен 14.07.2012Методика и основные этапы создания программы, взаимодействующей с пользователем посредствам графического интерфейса и выполняющей помехоустойчивое кодирование информации, ее цели. Алгоритм работы программы, отладка и проверка ее работоспособности.
курсовая работа [43,1 K], добавлен 12.05.2013