Форум «Всё о Паскале» _ Задачи _ Алгоритм табулирования и решения функции на Паскале
Автор: Driver86 2.12.2006 15:25
Вот такое у меня задание:
Цитата
Составьте алгоритм и программу табулирования функции (для определения интервалов изоляции корней уравнения) и вычисления корня нелинейного уравнения для одного (первого) параметра Р численным методом, который укажет преподаватель. Получите решение на компьютере. Введите число итераций n, значение корня х* уравнения, оценку точности dx и результат подстановки корня х* в левую часть уравнения. Заданная точность Е = 10-6 (десять в степени минус шесть)). Получите решения для различных значений параметра Р и проанализируйте, как зависит число итерации и значения корня от изменений параметра Р. Параметр Р изменяется по закону арифметической прогрессии с шагом ΔР или представлен массивом данных. Способ задания различных значений параметра Р задаёт преподаватель. А вот что дал преподаватель -> уравнение: 7х2-4ln(х)+р = 0, параметр Р: -20, -15, -10, -6
Как составить прогу на Паскале???
Автор: мисс_граффити 2.12.2006 16:33
Цитата
численным методом, который укажет преподаватель.
ну и какой он указал метод?
Автор: Driver86 2.12.2006 23:10
Видимо, вот это
Цитата
параметр Р равен -20, -15, -10 и -6
Хотя бы подскажите, как определить интервал изоляции корней уравнения *добавлено* Да, функцию написал немного не чётко: 7х2(икс в степени два)-4ln(х)+p=0
Автор: мисс_граффити 3.12.2006 0:11
то, что ты привел - это
Цитата
Способ задания различных значений параметра Р задаёт преподаватель.
а писать программу, не зная метода решения, глупо. то ли это метод бисекции, то ли простой итерации, то ли Ньютона (касательных, хорд или секущих). интервал изоляции: в цикле вычисляешь значения функции. как только на одном шаге значение положительное, а на следующем - отрицательное, интервал получен.
Автор: Driver86 3.12.2006 13:41
Цитата
то ли это метод бисекции, то ли простой итерации, то ли Ньютона (касательных, хорд или секущих).
А, вот оно что). Пойдёт любой метод: Ньютона, деления отрезка пополам (дихотомия), поразрядного приближения. Но описание этих методов у меня есть. Больше всего меня интересует вот это -->
Цитата
интервал изоляции: в цикле вычисляешь значения функции. как только на одном шаге значение положительное, а на следующем - отрицательное, интервал получен.
Для этого надо подставлять различные значения х, как я понял. Давно не работал за Паскалем, забыл всё... Не помешал бы хотя б пример такого цикла... Не отказался бы от твоей помощи, мисс_граффити З.Ы. Ты одна, кто толкует в Паскале?
Автор: мисс_граффити 3.12.2006 18:08
что-то вроде такого....
function f(const x:byte):real;{твоя функция, которую надо вычислять} begin f:=7*sqr(x)-4*ln(x)-20; end;
var x:byte; begin x:=1;{начальное значение... отрицательные вне области определения} while (not((f(x)<0)and(f(x+1)>0)) and not((f(x)>0)and(f(x+1)<0))) do inc(x);{можешь работать не с целыми х и сделать шаг поменьше - точнее определить интервал} writeln(x,' ',x+1); end.
как видишь, если решение будет на участке (0 1) , программка результат не выдаст. или если не найдет подходящих чисел до 128... как переделать - подумай сам.