
Курсовая работа по ИТ_Решение задач в Matlab_9283_Зикратова
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра радиотехнической электроники
Пояснительная записка к курсовой работе
по дисциплине «Информационные технологии»
Тема: «Решение задач в Matlab»
Студентка гр. 9283 |
|
Зикратова А. А. |
Преподаватель |
|
Мадисон П. А. |
Санкт-Петербург
2019
Содержание
Формулировка задачи………………………………………………………3
Алгоритм решения (блок-схема)………………………………………3
Текст программы…………………………………………………….4
Результаты…………………………………………………….5
Диаграммы……………………………………………….5
Заключение (вывод)……………………………….6
Формулировка задачи:
Даны
две функции:
,
.
Найти точку их пересечения на интервале
методом бисекции с точностью не менее
Алгоритм решения (блок-схема):
Начало

y1, y2, a, b, p, n

f(p)>ε

f(p)*f(a)<0
p=a


p=b

n=n+1


x0, n
Текст программы:
>> clear
y1= @(x) -sqrt(x);
y2= @(x) 5*cos(x/3);
@(x) y1-y2==f;
f = @(x) -sqrt(x)-5*cos(x/3); % анонимная функция
exp = 0.001; % точность
a = 0; % нижний предел
b = 10; % верхний предел
fplot(f,[a,b]), hold on % рисуем функцию
p=(a+b)/2;
n=1;
while abs(f(p))>exp % условие
if f(a)*f(p)<0
b=p;
else
a=p;
end;
p=(a+b)/2;
n=n+1; % номер итерации
end;
x0 = p; % корень
plot(x0, f(x0),'or'), hold on
set(gca,'XAxislocation','origin'); % отображение оси OX
xlabel('x'); % название оси
ylabel('f');
grid on % отображение сетки на графике
disp(['x0=',num2str(x0)]);
disp(['n=',num2str(n)]); % вывод номера итерации
title(['x0=',num2str(x0)])
Результаты:
Точка
пересечения графиков – p(x0)
,
x0=6,2891,
n
(кол-во итераций) =8, y(x0)=
-2,5078
Диаграммы:
Matlab:
Excel:
Вывод:
В
данной работе была найдена точка
пересечения графиков
и
,
принадлежащая интервалу
(т. е. её координаты), а также было
установлено количество итераций.