Добавил:
Absent2L
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лаб 2 / z1
.m syms x
# Функция №7
function Fx = v1 (x)
Fx = sin(sin(x.^2)) - 0.5
endfunction
# Производная функции №7
function dFx = v2 (x)
dFx = 2.*x.*cos(x.^2).*cos(sin(x.^2))
endfunction
# Отрисвка графика
xAxis=0.1:0.1:4;
yAxis = v1(xAxis);
xAxis1=0.1:0.1:4;
yAxis1 = v2(xAxis1);
plot(xAxis,yAxis)
hold on
plot(xAxis1,yAxis1)
# Метод дихотомии
# Начальный отрезок и значения функции в концах отрезка
a = 1
b = 2
Fa=v1(a)
Fb=v1(b)
for i = 1:15
# Середина отрезка и значение функции в нем
mid = (a+b)/2;
Fmid = v1(mid);
# Если ноль функции находится внутри отрезка (значения функции разные по знаку)
if Fa*Fmid < 0
b = mid
Fb = Fmid
else
a = mid
Fa=Fmid
endif
endfor
# Вывести отрезок, содержащий искомый корень
disp("a = "), disp(a)
disp("b = "), disp(b)
% Итоговое значение, невязка
dihX = (a+b)/2
dihN = v1(dihX)
# Ноль функции через fzero, невязка
zeroX = fzero('@(x) sin(sin(x.^2)) - 0.5', [1, 2])
zeroN = v1(zeroX)
# Погрешность
diff = abs(dihX - zeroX)
# Функция №7
function Fx = v1 (x)
Fx = sin(sin(x.^2)) - 0.5
endfunction
# Производная функции №7
function dFx = v2 (x)
dFx = 2.*x.*cos(x.^2).*cos(sin(x.^2))
endfunction
# Отрисвка графика
xAxis=0.1:0.1:4;
yAxis = v1(xAxis);
xAxis1=0.1:0.1:4;
yAxis1 = v2(xAxis1);
plot(xAxis,yAxis)
hold on
plot(xAxis1,yAxis1)
# Метод дихотомии
# Начальный отрезок и значения функции в концах отрезка
a = 1
b = 2
Fa=v1(a)
Fb=v1(b)
for i = 1:15
# Середина отрезка и значение функции в нем
mid = (a+b)/2;
Fmid = v1(mid);
# Если ноль функции находится внутри отрезка (значения функции разные по знаку)
if Fa*Fmid < 0
b = mid
Fb = Fmid
else
a = mid
Fa=Fmid
endif
endfor
# Вывести отрезок, содержащий искомый корень
disp("a = "), disp(a)
disp("b = "), disp(b)
% Итоговое значение, невязка
dihX = (a+b)/2
dihN = v1(dihX)
# Ноль функции через fzero, невязка
zeroX = fzero('@(x) sin(sin(x.^2)) - 0.5', [1, 2])
zeroN = v1(zeroX)
# Погрешность
diff = abs(dihX - zeroX)