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

Shevchenko / 1sem / KursvCodeV11

.m
Скачиваний:
10
Добавлен:
15.01.2024
Размер:
2 Кб
Скачать
clc
clear
close all
%Y1=cos(x) %Y2=sqrt(x)-4
disp('Корепанов Денис Максимович 3206')
disp('Вариант 11')
format long
n=input('Необходимая точка пересечения:');
eps=input('Погрешность:');
xq=0; %начальное значение
dx=0.001; %изменение аргумента
q=1;
r=1; %переменные для счетчиков
xt(q)=xq;

while r<=n
  dy0=cos(xt(q))-(sqrt(xt(q))-4); %разность значений функций в точке 0
  q=q+1;
xt(q)=xt(q-1)+dx;
dy1=cos(xt(q))-(sqrt(xt(q))-4);
  while dy1*dy0>0 %цикл нахождения точки пересечения
    dy1=cos(xt(q))-(sqrt(xt(q))-4);
    xt(q)=xt(q)+dx;
    xt(q-1)=xt(q-1)+dx;
  end
w=1;
c=(xt(q)+xt(q-1))/2;
    while (xt(q)-xt(q-1))>eps %точное нахождение точки пересечения путем половинного деления отрезка
      c=(xt(q)+xt(q-1))/2;
      w=w+1;
      dyc=cos(c)-(sqrt(c)-4);
      if dyc*dy0>0 %определение приближенного значения x в зависимости от знака
       xt(q)=xt(q);
       xt(q-1)==xt(q)-(c-xt(q-1));
      elseif dyc*dy0<0
       xt(q-1)=xt(q-1);
       xt(q)=xt(q-1)+(c-xt(q-1));
      end
end
q=q+1;
xt(q)=xt(q-1)+dx;
r=r+1;
end
fplot('cos(x)',[0 c+100*dx],'r'); %Вывод графиков функций y1(x) и y2(x)
hold on
fplot('sqrt(x)-4',[0 c+100*dx]);
grid on
legend('cos(x)','sqrt(x)-4');
disp('Координата пересечения x='); disp(c); %вывод значения х
disp('Количество итераций');  disp(w);
Соседние файлы в папке 1sem