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

курсач 11 вариант / курсач

.docx
Скачиваний:
3
Добавлен:
09.03.2021
Размер:
259.98 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра МНЭ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА к курсовой работе

по дисциплине «Информационные технологии»

Студент гр. 9282

Мелконян Г.Э.

Преподаватель

Пермяков Н.В.

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

2019

СОДЕРЖАНИЕ

Стр.

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

1). Даны две функции: y1=sin(x) и y2=log10(x-2). Написать программу на языке MatLab для определения разницы между максимальным и минимальным корнем уравнения y1=y2 на интервале значений x = (4;8].

Решение находили с помощью перебора циклом while. Полученные корни заносили массив и из полученного массива выбирали максимальный и минимальный корень.

2). Дополнительное задание: найти площадь фигуры, которая ограниченная данными функциями на заданном интервале.

Воспользовавшись тем, что площадь фигуры – это интеграл разности двух функций, нашли с помощью цикла while значения площади всех частей графика двух функций и занесли полученные данные в массив. Сложив полученные значения из каждой ячейки получили общую площадь фигуры, ограниченную заданными графиками.

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

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

%% даны две функции y1=lg(x-2)и y2=sin(x) найти точки персечения

%на интервале от 4 до 8, так же найти разницу между максимальным и

%минимальным значением икс.

clc

clear

eps=input('точность eps:(лучше всего - 0.01) ');%шаг определения корня

a=4; %задается область значений x

b=8;

o=1;

m=[1:o];%задается массив переменных, кол-во строк - 1, кол-во стобов равно

% кол-ву решений уравнения y1=y2

x=a;

%цикл для определения всех точек пересечения и добавления их в массив

while x<=b

y1=log10(x-2)-sin(x);

y2=log10(x-2+eps)-sin(x+eps);

if y1*y2<0 %если произведение y1 и y2 меньше нуля, то корень лежит в oтрезке между x и x+eps

coren=x+eps/2;%с определенной погрешностью определяем корень

disp('получаем корни уравнения равные')

disp(coren)

m(1,o)=coren;%решение уравнения записывается в массив

o=o+1;

end

x=x+eps; %двигаемся дальше по координатной прямой

end

%кол-во корней равно количеству столбцов с заполненными ячейками массива m

do=o-1;

disp('кол-во корней =')

disp(do)

%нахождения максимального и минимального корня из массива

a1=max(m);

a2=min(m);

%находим искому разницу

dx=a1-a2;

disp('разница максимального и минимального значения x =')

disp(dx)

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

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

  1. Диаграммы

  1. Проверка в Excel

Тестовые результаты в Excel подтвердили то, что программа работает правильно. Как видно из графика, построенного в Excel, на интервале от (4, 8] имеет место лишь одно пересечение графиков, а значит только один корень уравнения y1=y2, который равен 7.065 (найден при помощи функции Поиск решения), из чего следует, что разность между максимальным и минимальным корнями будет равна 0.

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

В ходе проделанной работы было определено, что на интервале от [4, 8) существует лишь один корень уравнения y1=y2 – это x = 7.065 (определен с точностью до тысячных).

Тестовые вычисления, выполненные в Excel при помощи функции поиск решения, дали такой же результат.

Доп.задание: в массиве с площадями оказалось 2 значения, просуммировав их получили искомое значение SS=3.1598

Соседние файлы в папке курсач 11 вариант