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

Методичка_курсовик_ИНФО_2010

.pdf
Скачиваний:
16
Добавлен:
09.02.2015
Размер:
1.4 Mб
Скачать

Дьяконов В. П. MATLAB 7.*/R2006/2007. Самоучитель. — Москва.: «ДМК-

Пресс», 2008. — С. 768. — ISBN 978-5-94074-424-5

Дьяконов В. П. SIMULINK 5/6/7. Самоучитель.. — Москва.: «ДМК-Пресс», 2008.

— С. 784. — ISBN 978-5-94074-423-8

Дьяконов В. П. Вейвлеты. От теории к практике. Полное руководство пользователя. Изд-е 2-е переработанное и дополненное.. — Москва.: «СОЛОН-Пресс»,

2004. — С. 400. — ISBN 5-98003-171-5

Чарльз Генри Эдвардс , Дэвид Э. Пенни Дифференциальные уравнения и про-

блема собственных значений: моделирование и вычисление с помощью

Mathematica, Maple и MATLAB = Differential Equations and Boundary Value Problems: Computing and Modeling. — 3-е изд. — М.: «Вильямс», 2007. — ISBN 978- 5-8459-1166-7

Курбатова Екатерина Анатольевна MATLAB 7. Самоучитель. — М.: «Диалек-

тика», 2005. — С. 256. — ISBN 5-8459-0904-X

Джон Г. Мэтьюз, Куртис Д. Финк Численные методы. Использование MATLAB

= Numerical Methods: Using MATLAB. — 3-е изд. — М.: «Вильямс», 2001. — С. 720. — ISBN 0-13-270042-5

1)www.mathworks.com – англоязычный сайт американской компании

MathWorks, разработчика MATLAB

2)www.mathworks.com/products/matlab/ – MATLAB язык технических вычислений

3)www.mathworks.com/products/matlab/description1.html – описание программного продукта MATLAB® 7.2

4)http://ru.wikipedia.org/wiki/Метод_бисекции – метод деления отрезка пополам

5)http://matlab.exponenta.ru/ - консультационный центр компании MATLAB

51

ПРИЛОЖЕНИЕ

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Санкт-Петербургский государственный электротехнический университет "ЛЭТИ"

Факультет электроники Кафедра радиотехнической электроники

"Применение программного продукта MATHLAB для решения математической задачи"

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к курсовой работе по дисциплине "Информатика"

Доцент, к.т.н.

А.С. Иванов

Студент гр.8202

Е.В. Можаев

Санкт-Петербург

2011

52

 

Содержание

 

 

 

стр.

1.

Постановка задачи и метод решения

............................................. 3

2.

Алгоритм решения ............................................................................

4

3.

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

6

4.

Листинг результатов .........................................................................

7

5.

Диаграммы ........................................................................................

9

 

Заключение .....................................................................................

10

Microsoft®, MS® являются зарегистрированными товарными знаками корпорации Microsoft, а Microsoft Word® является торговым знаком корпорации Microsoft в США и других странах.

® Microsoft Corporation

53

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

Математическая модель задачи описывается двумя переменными величинами Х и Y, связанными между собой системой двух трансцендентных уравнений вида:

Y=COS(X/P)

Y=SQRT(P*X),

где P=Ng/(Ng+Ns) – параметр системы; Ng – номер учебной группы;

Ns – номер студента в группе.

Искомые значения переменных величин являются корнями системы уравнений и зависят также от значения параметра Р. Для решения задачи необходимо с заданной погрешностью eps=0,0001 определить корни системы уравнений.

Решение системы трансцендентных уравнений производится численно методом деления пополам корневого отрезка, содержащего корень Х. Исходные границы корневого отрезка X1, X2 находятся путем вычисления значений функций обоих уравнений для заданных значений аргумента с фиксированным шагом dX=0,1. Для каждого значения Х вычисляется разница значений функций обоих уравнений – dY. Два соседних знакопеременных значения dY1 и dY2 определяют соответствующие им X1 и X2.

Основная процедура заключается в том, что корневой отрезок делится пополам, находится значение Хс в средней точке и затем вычисляется соответствующее ему значение dYc. Абсолютная величина полученного значения сравнивается с заданной погрешностью eps=0,001 и в случае, когда abs(dYc) < eps, полученные значения Хс и Yc принимаются в качестве корней системы уравнений.

В случае, когда abs(dYc) > eps, dYc сравнивается с значениями dY1 и dY2 и из них выбирается то, которое отличается знаком от dYc. Одной из границ нового корневого отрезка становится значение Хс, другой либо Х1, либо Х2. Далее повторяется основная процедура до получения корней системы уравнений.

Количество повторов (шагов) основной процедуры зависит от заданной величины погрешности. Дополнительно исследуется зависимость количества шагов от значений погрешности eps=1.E-5 и eps=1.E-6.

54

2. Алгоритм решения

 

 

 

ИСХОДНЫЕ ДАННЫЕ

 

 

Ng=2250; Ns=50;

 

 

 

P=Ng/(Ng+Ns);

 

 

 

eps=0.0001;

 

 

 

x=0; dx=0.1; dY=1;

 

 

 

i=0;

 

 

 

ВЫЧИСЛЕНИЕ ГРАНИЦ ИСХОДНОГО КОРНЕВОГО ОТ-

РЕЗКА

 

 

 

 

 

Да

i=i+1;

 

 

xt(i)=x;

dY>0

 

 

 

 

Y1=cos(x/P);

 

 

 

 

 

 

Y2=sqrt(P*x);

 

 

 

yt1(i)=Y1;

Нет

 

 

yt2(i)=Y2;

 

 

 

dY=Y1-Y2;

 

 

 

x=x+dx;

y1r(1)=yt1(i); y1r(2)=yt1(i-1);

 

y2r(1)=yt2(i); y2r(2)=yt2(i-1);

 

xr(1)=xt(i-1); xr(2)=xt(i);

 

 

for n=1:2, xrt(n)=xr(n)

 

 

end;

 

 

 

ОСНОВНАЯ ПРОЦЕДУРА

 

j=1

 

 

 

 

j=j+1

 

abs(dY)>eps

 

Нет

Да

 

xr(2)=xc

 

 

 

 

 

xc=(xr(1)+xr(2))/2;

Нет

 

Y1=cos(xc/P);

 

dY>0

Y2=sqrt(P*xc);

 

 

 

dY=Y1-Y2;

 

Да

 

 

 

 

 

 

xr(1)=xc

ВЫВОД РЕЗУЛЬТАТОВ

 

 

 

55

ВЫВОД РЕЗУЛЬТАТОВ

disp('Исходные данные'); disp('Ng='); disp(Ng);

disp('Ns='); disp(Ns); disp('P='); disp(P); disp('xc='); disp(xc); disp('Y1='); disp(Y1); disp('Y2='); disp(Y2); disp('Шагов='); disp(j);

ПОСТРОЕНИЕ ДИАГРАММЫ

plot(xrt,y1r,xrt,y2r);

56

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

%Ввод исходных данных

%Y1=COS(X/P) %Y2=SQRT(P*X) %P=Ng/(Ng+Ns)

Ng=8202;

Ns=14;

P=Ng/(Ng+Ns); %eps=1.E-5 %eps=1.E-6 eps=1.E-6; dx=0.1;

x=0;

dY=1;

%Нахождение отрезка, длинной 0.1, включающего точку пересечения графиков заданных функций

i=0;

while dY>0; i=i+1; xt(i)=x; Y1=cos(x/P);

Y2=sqrt(P*x);

yt1(i)=Y1;

yt2(i)=Y2; dY=Y1-Y2; x=x+dx; end;

%Нахождение границ отрезка и значений функций на его концах y1r(1)=yt1(i);

y1r(2)=yt1(i-1); y2r(1)=yt2(i); y2r(2)=yt2(i-1); xr(1)=xt(i-1); xr(2)=xt(i);

for n=1:2, xrt(n)=xr(n) end;

57

%Нахождение точки пересечения графиков исходных функций с заданной точностью с помощью метода деления отрезка пополам

j=1;

while abs(dY)>eps; xc=(xr(1)+xr(2))/2; Y1=cos(xc/P); Y2=sqrt(P*xc); dY=Y1-Y2;

if dY>0 xr(1)=xc; else xr(2)=xc; end;

%Вывод данных на экран j=j+1;

end;

disp('Исходные данные'); disp('Ng='); disp(Ng);

disp('Ns='); disp(Ns); disp('P='); disp(P); disp('xc='); disp(xc); disp('Y1='); disp(Y1); disp('Y2='); disp(Y2); disp('Шагов='); disp(j); disp('Eps='); disp(eps);

%Вывод графика plot(xrt,y1r,xrt,y2r);

58

4. Листинг результатов

 

 

1) Погрешность 1.E-4

2) Погрешность 1.Е-5

3) Погрешность 1.Е-6

xrt =0.6000

xrt =0.6000

xrt =0.6000

0.7000

xrt =0.6000 0.7000

xrt =0.6000 0.7000

xrt =0.6000

0.7000

Исходные данные

Исходные данные

Исходные данные

Ng=8202

Ng=8202

Ng=8202

 

Ns=14

Ns=14

Ns=14

 

P=0.9983

P=0.9983

P= 0.9983

 

xc=0.6418

xc=0.6417

xc=0.6417

 

Y1=0.8004

Y1=0.8004

Y1=0.8004

 

Y2=0.8004

Y2=0.8004

Y2=0.8004

 

Шагов=9

Шагов=14

Шагов=14

 

Eps=1.0000e-004

Eps=1.0000e-005

Eps=1.0000e-006

 

 

 

Таблица. Зависимость числа шагов от значения погрешности

 

Погрешность

 

Число шагов

 

1.0000e-004

 

9

 

 

1.0000e-005

 

14

 

 

1.0000e-006

 

14

 

 

59

5. Диаграммы

Рис 1. Графическая иллюстрация решения на корневом отрезке

Рис 2. График зависимости

60