ВУЗ:
Составители:
% Проверка на равенство f(x) нулю в center
if feval(fname, center) == 0
break % найден точный корень, дальше делить нет смысла
end
% Выбор нужной половины отрезка, на границах которой
% f(x) принимает значения разных знаков
if feval(fname, left)*feval(fname, center) < 0
right = center;
else
left = center;
end
end
% Приближенное значение корня равно координате любой границы
% последнего полученного отрезка
root = center;
%
% Файл-функция half с переменным числом аргументов
%
function [root, varargout] = half(fname, left, right, varargin)
% Файл-функция
находит корень уравнения f(x)=0
% методом половинного деления
% Использование
% root = half(fname, left, right, epsilon)
% fname - имя файл-функции, вычисляющей f(x)
% left, right - левая и правая границы отрезка, на
% котором находится корень
% epsilon - точность вычислений, если не задана, то
% по умолчанию 1.0e-03
% [root, Fun] = half(fname, left, right, epsilon)
% Fun = f(root)
% Если число входных аргументов равно четырем, то последний
% аргумент содержит точность вычислений, а если трем, то
точность
% устанавливается по умолчанию 1.0e-03
switch nargin
case(4)
epsilon = varargin{1};
case(3)
epsilon = 1.0e-03;
otherwise
error('Может быть три или четыре входных аргумента')
end
% Проверка на равенство f(x) нулю в center
if feval(fname, center) == 0
break % найден точный корень, дальше делить нет смысла
end
% Выбор нужной половины отрезка, на границах которой
% f(x) принимает значения разных знаков
if feval(fname, left)*feval(fname, center) < 0
right = center;
else
left = center;
end
end
% Приближенное значение корня равно координате любой границы
% последнего полученного отрезка
root = center;
%
% Файл-функция half с переменным числом аргументов
%
function [root, varargout] = half(fname, left, right, varargin)
% Файл-функция находит корень уравнения f(x)=0
% методом половинного деления
% Использование
% root = half(fname, left, right, epsilon)
% fname - имя файл-функции, вычисляющей f(x)
% left, right - левая и правая границы отрезка, на
% котором находится корень
% epsilon - точность вычислений, если не задана, то
% по умолчанию 1.0e-03
% [root, Fun] = half(fname, left, right, epsilon)
% Fun = f(root)
% Если число входных аргументов равно четырем, то последний
% аргумент содержит точность вычислений, а если трем, то точность
% устанавливается по умолчанию 1.0e-03
switch nargin
case(4)
epsilon = varargin{1};
case(3)
epsilon = 1.0e-03;
otherwise
error('Может быть три или четыре входных аргумента')
end
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »
