Напряженность и потенциал проводящего шара с зарядом q, размещенного в центре проводящей сферы

 













КУРСОВОЙ ПРОЕКТ (РАБОТА)

Напряженность и потенциал проводящего шара с зарядом q, размещенного в центре проводящей сферы


ЗАДАНИЕ


Проводящий шар с зарядом q размещен в центре полой проводящей сферы.- радиус шара;, a3 - радиусы сферы;

e1, e2 - абсолютные диэлектрические проницаемости внешнего пространства (вакуум) и внутреннего сферы ( диэлектрик).

Элекрическое поле (E) и потенциал (j) определены следующими соотношениями:


q q q 1 1

E = ¾¾¾ ; j = ¾¾¾ + ¾¾ ( ¾ - ¾ ) ; при a1 <= r <= a2;

4pe2 r2 4pe1a3 4pe2 r a2


q

E= 0; j = ¾¾¾ ; при a2 <= r <= a3 ;

4pe1a3


q q= ¾¾¾ ; j = ¾¾¾ ; при r >= a3 ;

4pe1r2 4pe1r


r - расстояние от центра шара до точки определения поля.

Вычислить E , j и построить зависимости от r при:

1) a2 = 2a1 ; a3 = 2.5a1 ;

) a2 = 10a1 ; a3 = 15a1 ;

e2 = 1,8e1 .


АННОТАЦИЯ


Данная курсовая работа предназначена для расчета напряженности электрического поля и потенциала в любой точке проводящего шара с зарядом q, размещенным в центре полой проводящей сферы с использованием средств C++ и Matlab.


ВВЕДЕНИЕ. РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ. МЕТОДЫ ПРОСТЫХ ИТЕРАЦИЙ


Для решения математических задач используются основные группы методов: графические, аналитические, численные.

Графические методы позволяют в ряде случаев оценить порядок искомой величины. Основная идея этих методов состоит в том, что решение находится путем геометрических построений. Например, для нахождения корней уравнения f(x)=0 строится график функции y=f(x), точки пересечения которого с осью абсцисс и будут искомыми корнями.

При использовании аналитических методов решение задачи удается выразить с помощью формул.

Основным инструментом для решения сложных математических задач в настоящее время являются численные методы, позволяющие свести решение задачи к выполнению конечного числа арифметических действий над числами; при этом результаты получаются в виде числовых значений. Многие ЧМ разработаны давно, однако при вычислениях вручную они могли использоваться лишь для решения не слишком трудоемких задач.

Численное решение нелинейных (алгебраических) уравнений вида f(x)=0 заключается в нахождении значений x, удовлетворяющих (с заданной точностью) данному уравнению. Сначала происходит нахождение отрезков из области определения функции f(x), внутри которых содержится только один корень решаемого уравнения. Далее вычисляется приближенное значение корня с заданной точностью. Часто вместо отрезка локализации достаточно указать начальное приближение к корню.

В данной курсовой работе мы рассмотрим численный метод решения нелинейных уравнений - метод простых итераций. Этот метод можно применить к уравнениям, которые могут быть представлены в виде F(x)=f(x)-x=0

y

=x

y=f(x)





x0 x1 x2xs x

Рисунок 1 - Геометрическая интерпретация


Сначала мы вводим первую итерацию х0 - т.0 (х0,f(x0)), последующая итерация находится с помощью итерационного соотношения x=f(x) (новая через старую). Т.е. следующие итерации (x1,f(x1)), (x2,f(x2)) и т.д. до тех пор, пока истинно |f(x)-x|<=eps, где eps - это точность. Рассмотрим решение нелинейного уравнения методом простых итераций на примере.

Пример. Начнем с постановки задачи.

Задача: решить нелинейное уравнение F(x)=lg(x)+2x-3=0 методом простых итераций, вычислить корень с заданной точностью eps.

Исходные данные: уравнение, точность, первая итерация.

Результат: вывод на экран (корень, точность, количество итерации, контрольное число (|f(x)-x|).


БЛОК-СХЕМА

напряженность электрическое поле заряд matlab

aлгоритма решения нелинейного уравнения с помощью метода простых итераций с точностью eps



Правило остановки итерации: F(xs)?0, F(x1)?eps, |x1-x0|?eps. Для того, чтобы правильно найти корень, мы будем продолжать итерации, пока будут истинны оба итеранта.


СЛОВЕСНЫЙ АЛГОРИТМ


.Начало.

.Ввод с клавиатуры первой итерации x и точности eps.

3.n=1

.|x-f(x)|>=eps, если да - на 5, нет - на 8

.Нахождение следующей итерации x=f(x)

6.n=n+1

.на 4

.вывод на экран x,eps,n, F(x), |f(x)-x|

.подпись

.конец


ТЕКСТ ПРОГРАММЫ


#include "stdafx.h"

#include <math.h>

#include <conio.h>F(double);F(double a)

{-(3*log10(a*a)+3)/6;

}_tmain()

{double x,e;n,t;

{("x=");_s("%le",&x);("e=");_s("%le",&e);=1;

{=F(x);=n+1;

}(fabs(x-F(x))>=e);("x=%le e=%le n=%i\n F(x)=%le |x-F(x)|=%le\n",x,e,n,F(x),fabs(x-F(x)));("Repeat?1/0\n");_s("%i",&t);

}(t==1);("Koturgina\n");

_getch();0;

}


АНАЛИЗ ЗАДАНИЯ


Данная курсовая работа позволяет рассчитать потенциал и напряженность электрического поля в любой точке относительно проводящего шара с зарядом q, размещенным в центре полой проводящей сферы, с использованием средств C++ и Matlab.


СЛОВЕСНЫЙ АЛГОРИТМ


1.Начало

2.Создание файла kursov1.txt;

.Вычисление E, fi при a1=1, a2=2*a1, a3=2,5*a1, dr=0,01*a1;

4.Запись E, fi, r в файл kursov1.txt;

5.Закрытие файла kursov1.txt;

.Создание файла kursov2.txt;

.Вычисление E, fi при a1=1, a2=10*a1, a3=15*a1;

8.Запись E, fi, r в файл kursov2.txt;

9.Закрытие файла kursov2.txt;

10.Конец.


ПОЯСНЕНИЯ К БЛОК-СХЕМЕ


E - напряженность электрического поля;

fi - потнциал;

a1 - радиус шара;

а2, а3 - радиусы сферы;

r - расяние от центра шара до точки определения напряженности и потенциала;

dr - шаг увеличения расстояния;

eps1, eps2 - абсолютные диэлектрические проницаемости внешнего пространства (вакуум) и внешнего (сфера);


БЛОК-СХЕМА


Функция main



Функция f1(a1,a2,a3,r)



СТРУКТУРА И РАБОТА ПРОГРАММЫ


Программа на языке C состоит из двух функций: main() и f1(a1,a2,a3,r), вычисляющая напряженность электрического поля и потенциал в точке на расстоянии r от центра шара с зарядом q, размещенного в центре полой проводящей сферы. Функция main()

Работа программы начинается с функции main, содержащей один оператор цикла for и один оператор многовариантного деления switch, вложенный в цикл, так как параметр a в программе имеет два значения и обознается a=0.01 и a1=0.05. При расчете происходит обращение сначала к функции F, в которую передается значение параметра a. Функция F имеет два оператора цикла for, один из которых вложен в другой. После выполнения функции F происходит обращение к функции H, имеющей два оператора цикла for, как и в предыдущей функции один вложен в другой.

В конце выполнения программы значения массивов f и h записываются в файл: при а=0.05 в файл a_0_001.txt, при a1=0.01 - в файл a_0_01.txt


ТЕКСТ ПРОГРАММЫ НА С


#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <stdlib.h>f[300];n[300];q[300];h[300];x,N;F(double);F(double a)

{(x=0; x<=N-1; x=x+1)

{[x]=0;i;z,ni;(i=1; i<=12; i=i+1)

{=(double)rand()/RAND_MAX;=-0.5-(-0.5-0.5)*z;[x]=n[x]+ni;

}[x]=exp(-a*x)+0.1*n[x];

}0;}H();H()

{x1;[0]=q[10]=0;[1]=q[9]=0.2;[2]=q[8]=0.4;[3]=q[7]=0.6;[4]=q[6]=0.8;[5]=1;(x=0; x<=N-1; x=x+1)

{[x]=0;(x1=0; x1<=N-1; x1=x1+1)

{[x]=h[x]+f[x1]*q[x-x1];

}

}0;

}_tmain(int argc, _TCHAR* argv[])

{a,F1,H1,a1;t;=300;(t=1; t<=2; t=t+1)

{(t)

{1 :=0.01;=F(a);=H();*m;_s(&m,"a_0_01.txt","w+");(x=0; x<=N-1; x=x+1)

{(m, "%le %le\n", f[x],h[x]);

}(m);;2:=0.05;=F(a1);=H();_s(&m,"a_0_001.txt","w+");(x=0; x<=N-1; x=x+1)

{(m, "%le %le\n", f[x],h[x]);

}(m);;

}

}

_getch();0;

}

фрагмент файла из С++ (левый столбец f(x), правый столбец h(x))

.666952e-001 9.359999e+000

.685273e-001 9.335505e+000

.745356e-001 9.731244e+000

.642603e-001 1.008659e+001

.338099e-001 1.094563e+001

.743329e-001 1.193945e+001

.956874e-001 1.275390e+001

.705165e-001 1.314451e+001

.736160e-001 1.326044e+001

.915757e-001 1.283504e+001

.777456e-001 1.219029e+001


РАБОТА В СИСТЕМЕ MATLAB


Программа в системе Matlab состоит из пяти функций. Интерфейс (function kursovaja()), function kursmain1() - загрузка файла с данными из С a_0_001.txt, расчет сигнала при a=0.05, обращаясь к функциям function f=F(a) - расчет сигнала с помехой и function h=H(f) - сигнала после фильтра и построение данных, полученных из С и Matlab. Аналогичная функция function kursmain2() - загрузка файла с данными из С a_0_01.txt, расчет сигнала при a=0.01, обращаясь к тем же расчетным функциям, построение графиков по данным из С и Matlab.

Работа начинается с запуска function kursovaja(), появляются два графических окна. На каждом имеется значение параметра a и кнопка, при нажатии которой выводятся графики из функции, соответствующей значению а (при a=0.05 из function kursmain1(), при a=0.01 из function kursmain2()).

ТЕКСТ ПРОГРАММЫ НА MATLAB


function kursovaja()

global a a1 h1 h2;=figure(1);(h1,'color',[0.25 0.3 0.2]);(h1,'numbertitle','off','name','Курсовая a=0.05');='position';='normalized';='units';=[0.2 0.95 0.28 0.04];=uicontrol('style','text',un,nor,pos,p0,'string','значение паремтра a');=[0.50 0.95 0.08 0.04];=uicontrol('style','edit',un,nor,pos,p1,'string','0.05');=[0.6 0.95 0.15 0.04];('style','pushbutton',un,nor,pos,p4,'string','a=0.05','callback','kursmain');=figure(2);(h2,'color',[0.25 0.3 0.2]);(h2,'numbertitle','off','name','Курсовая a=0.01');=uicontrol('style','text',un,nor,pos,p0,'string','значение паремтра a');=uicontrol('style','edit',un,nor,pos,p1,'string','0.01');('style','pushbutton',un,nor,pos,p4,'string','a=0.01','callback','kursmain2');kursmain()a h1(h1)a_0_001.txt;=a_0_001(:,1);=a_0_001(:,2);(2,2,1);(f),grid,xlabel('сигнал с помехой C++');(2,2,2)(h),grid,xlabel('сигнал после фильтра C++');='position';='normalized';='units';=get(a,'string');=str2num(a);=F(a1);(2,2,3)(f),grid,xlabel('сигнал с помехой matlab');=H(f);(2,2,4)(h),grid,xlabel('сигнал после фильтра matlab');kursmain2()a1 h2(h2)a_0_01.txt;=a_0_01(:,1);=a_0_01(:,2);(2,2,1);(x,f1),grid,xlabel('сигнал с помехой C++');

subplot(2,2,2)(x,h1),grid,xlabel('сигнал после фильтра C++');

pos='position';='normalized';='units';=get(a1,'string');=str2num(a);=F(a1);(2,2,3)

plot(x,f),grid,xlabel('сигнал с помехой matlab');

h=H(f);

subplot(2,2,4)

plot(x,h),grid,xlabel('сигнал после фильтра matlab');

function f=F(a);x=1:300(x,1)=0;i=1:12(i,1)=0.5.*randn(1,1);(x,1)=n(x,1)+ni(i,1);(x)=exp(-a.*x)+0.1.*n(x);h=H(f)

clc;=zeros(300,1);(10,1)=0.2;(9,1)=0.4;(8,1)=0.6;(7,1)=0.8;(2,1)=q(10,1);(3,1)=q(9,1);

q(4,1)=q(8,1);

q(5,1)=q(7,1);

q(6,1)=1;x=1:300(x,1)=0;x1=1:300(x1,1)=0;(x-x1)>0(x1,1)=f(x1)*q(x-x1);(x1,1)=0;(x,1)=h(x,1)+hi(x1,1);

end





ЗАКЛЮЧЕНИЕ


Для того, чтобы программы и результаты попали на бумагу было сделаны следующие действия. Тексты программ на С++ и matlab и результаты, полученные в ходе программы на С++ выделялись, затем копировались из файла сочетанием клавиш ctrl+c и вставлялись сочетанием клавиш ctrl+v. Графические окна копировались клавишей Print Screen и вставлялись сочетанием клавиш ctrl+v. Затем все было распечатано.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


1.Березин Б.И. Базовый курс / Симанович С.В. и др. - СПб: Издательство «Питер», 2000. - 640с

2.Кетков Ю.Л. Matlab 7: Программирование, численные методы / Кетков Ю.Л. и др. - СПб: Издательство «БХВ Петербург», 2005. - 752с

.Потемкин В.Г. Система инженерных и научных расчетов MATLAB / Потемкин В.Г. - М: Издательство «Диалог МИФИ», 1999

.Романова Г.Н. Информатика: Методические указания по курсовой работе / Г.Н. Романова - Красноярск: ИПЦ КГТУ, 2003. - 38с

.Романова Г.Н. Курс лекций по С++ и Matlab / Г.Н. Романова - Красноярск: ИПЦ КГТУ, 2003


КУРСОВОЙ ПРОЕКТ (РАБОТА) Напряженность и потенциал проводящего шара с зарядом q, размещенного в центре провод

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

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

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

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

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