Скачиваний:
0
Добавлен:
09.03.2021
Размер:
2.83 Кб
Скачать
%% даны две функции 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 меньше нуля, то корень лежит в
%отрезке между 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)

%% построение графика
xx = a:eps:b;
y11 = sin(xx);
y22 = log10(xx-2);
plot(xx,y11);
hold on
plot (xx,y22);
hold off

%% дополнительное задание
o=1;
a=4;
b=8;
l=[1,o];%Массив площадей на разных отрезках%

while o<=do %задается цикл для отыскания площадь фигуры на разных отрезках%
b0=m(1,o);
x=a:eps:b0;
syms x;%указываем тип переменной по которой будем интегрировать
u1=int(sin(x),a,b0);%интегрируем первую функцию
u2=int(log10(x-2),a,b0);%вторую
S=double(u2-u1);%по правилу:площадь фигуры,которая ограничена двумя кривыми
%это интеграл разности этих кривых на заданном отрезке
%по свойству интеграл разности можно представить как разность интегралов
%что и мы деалем
l(1,o)=S;%заносим значение площади на данном отрезке в ячейку массива
if S<0
l(1,o)=-S;%проверяем знак S, в случае отрицательного,
%заносим в ячейку значение площади с противоположным знаком
end
a=b0;
o=o+1; %берем следующую точку пересечения графиков
end
if b0<b %когда точки пересечения на данном отрезке заканчиваются
%считаем площадь в границах: левая - последняя точка пересечения
%правая - заданный правый конец отрезка b
x=b0:eps:b;
syms x;
u1=int(sin(x),b0,b);
u2=int(log10(x-2),b0,b);%аналогичные операции, как в придыдущем цикле
S=double(u2-u1);
l(1,o)=S;
if S<0
l(1,o)=-S;
end
end
SS=sum(l);%имеем, что общая площадь, ограниченная кривыми - это сумма
%значений всех ячеек массива l(матрицы-строки)
disp('общая площадь всех частей фигуры,ограниченной кривым sin(x) и log10(x-2)=')
disp(SS)
Соседние файлы в папке курсач 11 вариант