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

NikolaevKirill_gr7291_ver2

.m
Скачиваний:
2
Добавлен:
27.11.2022
Размер:
2.13 Кб
Скачать
clc % очистка экрана
clear % очистка всех переменных
close all % закрытие всех графиков

disp('Николаев Кирилл Викторович'); % ФИО студента
disp('Группа 7291'); % Номер группы
disp('Версия программы 7.5.0(R2007b)');
disp('Дата релиза 18.05.2018');
disp('Вариант №10'); % Номер варианта
disp('Даны две функции: y1(x) = sin(x) и y2(x) = sqrt(x) / 100 . Написать программу на языке MatLab для нахождения методом последовательных приближений координаты x n-ой по счету точки пересечения этих функций на интервале [0, ?). Значение n пользователь вводит с клавиатуры при работе программы. Координатное значение определяется с заданной точностью (? = 0.001). Отобразить графически данные кривые в заданном диапазоне, включая точку пересечения.');
q=input('введите номер необходимой по счету точки пересечения : '); %номер точки пересечения по счету


e=0.001; %погрешность
xn=0; %начальное значение
dx=0.001; % изменение аргумента
n=1; % переменные n,r,q
r=1; % используются для счетчиков
xt(n)=xn;


while r<=q % цикл для нахождения первой точки пересечения
dy=cos(xt(n))-sqrt(xt(n))/100;% нахождение разности между значениям функциями


while dy>0 % цикл для нахождения точки пересечения
dy=cos(xt(n))-sqrt(xt(n))/100;
n=n+1;
xt(n)=xt(n-1)+dx; %индексация значений Х
w=1;
while abs(dy)>e && w<2 % точное нахождение точки пересечения путем половинного деления отрезка
x=(xt(n-1)+xt(n))/2;
dy=cos(x)-sqrt(x)/100;
w=w+1;

if dy>0%определение приближенного значения x в зависимости от знака dy
x=xt(n-1);


else
x=xt(n);

end

end

end

r=r+1;


end
fplot('cos(x)',[0 x+100*dx],'r'); % Вывод графиков функций y1(x) и y2(x)
hold on % в заданном диапазоне
fplot('sqrt(x)/100',[0 x+100*dx]);
grid on
legend ('cos(x)','sqrt(x) / 100');
disp('координата х = ');disp(x) %вывод значения координаты Х
Соседние файлы в предмете Информационные технологии