1. Главная
  2. Библиотека
  3. Программирование
  4. Разработать и реализовать программу на языке MATLAB (Scilab), реализующую численное нахождение хотя бы одного корня заданн...

Разработать и реализовать программу на языке MATLAB (Scilab), реализующую численное нахождение хотя бы одного корня заданного нелинейного

«Разработать и реализовать программу на языке MATLAB (Scilab), реализующую численное нахождение хотя бы одного корня заданного нелинейного»
  • Программирование

Условие:

1. Разработать и реализовать программу на языке MATLAB (Scilab), реализующую численное нахождение хотя бы одного корня заданного нелинейного уравнения заданным методом (в соответствии с вариантом) с погрешностью 10-5.

2. В случае невозможности отыскания хотя бы одного корня нелинейного уравнения указанным методом необходимо подробно разъяснить причину и предложить вариант изменения условий таким образом, чтобы уравнение можно было решить заданным методом.

Решение:

Сначала создаём подпрограмму для отделения корней. Необходимо, чтобы значения функции на концах отрезка локализации [A, B] были разных знаков:

%находим отрезок локализации корня f(x)=0

function [A, B] = Otd(f)

delta =1; tmin=-10; tmax=10;

tt=tmin:delta:tmax;

y = f(tt);

n=length(tt);

A=tt(1);B=tt(2);

%находим отрезок с разными знаками функции на концах

for i=1:(n-1)

if (y(i)*y(i+1)0)

A = tt(i); B=tt(i+1);

break

end

end

fprintf('Корень локализован на отрезке [%d;%d]\n',A,B)

end

Для данной задачи нам нужен один любой корень, пытаемся найти интервал с корнем на отрезке [-10;10]. Как только находим, программу завер...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет