Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 21.11.2021
Сообщений: 32

Как на найти корень методом половинного деления, если не дан интервал

23.11.2021, 18:37. Показов 949. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот что известно
определить положительный корень уравнения f(x)=0 с точностью Е
f(x)=x4-4*x2-1
E=3*10-3
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.11.2021, 18:37
Ответы с готовыми решениями:

как на найти корень методом половинного деления если не дан интервал
Вот что известно определить положительный корень уравнения f(x)=0 с точностью Е f(x)=x^4-4*x^2-1 E=3*10^-3

Как найти корень методом половинного деления, если не дан интервал?
Вот что известно определить положительный корень уравнения f(x)=0 с точностью Е f(x)=x^4-4*x^2-1 E=3*10^-3

Найти корень нелинейного уравнения F(x)=0 методом половинного деления. Крайние значения предела ([a,b]) , содержащий корень и погрешность (\epsilon )
Найти корень нелинейного уравнения F(x)=0 методом половинного деления. Крайние значения предела () , содержащий корень и погрешность...

6
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
23.11.2021, 19:00
Цитата Сообщение от pechenka2324 Посмотреть сообщение
Как на найти корень методом половинного деления, если не дан интервал
Есть различные методы определения начального интервала.
Но в общем случае они достаточно сложные.
Гораздо сложнее чем, уже потом определение корней внутри интервала.

Может вы что-то упустили в задании?
Или в самой теме есть какие-то уточнения, способы его получения в рамках вашего учебного плана?

Добавлено через 1 минуту
Конкретно в данной функции есть два очевидных интервал от 0 до double.MaxValue и от double.MinValue до 0.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
23.11.2021, 19:03
pechenka2324, у вас есть дубль в Плюсах: Как найти корень методом половинного деления, если не дан интервал?
Вам решение нужно на обоих языках?
0
0 / 0 / 0
Регистрация: 21.11.2021
Сообщений: 32
23.11.2021, 19:04  [ТС]
Составить схемы алгоритмов и программы на языке C# для определения положительного корня R уравнения f(x)=0 с точностью Е и вычисления числа и суммы S (произведения Р) всех членов ряда больших заданного числа d.
Такое вот задание, учитель сказал что нужно найти корень уравнения методом половинного деления
Миниатюры
Как на найти корень методом половинного деления, если не дан интервал  
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
23.11.2021, 19:19
Цитата Сообщение от pechenka2324 Посмотреть сообщение
для определения положительного корня R уравнения f(x)=0 с точностью Е
ВО!!!
Пропустил я в условии.
Это же и есть диапазон: от 0 до double.MaxValue.
1
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
23.11.2021, 19:23
pechenka2324, вопрос задан и в Численных методах
Так какое решение Вы ждете?
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
23.11.2021, 20:14
Интервал дан, только неявно. Первое слагаемое многочлена много быстрее будет расти как в минус бесконечность, так и в плюс бесконечность, вам ведь надо только положительный диапазон брать. Можно брать любой положительное число, по идее.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
namespace ConsoleApp3_Equation;
 
public class Program
{
    public static void Main(string[] args)
    {
        var bArgs = Enumerable.Range(2, 100).Select(x => x * x * x);
        var counter = 1;
        foreach (var bArg in bArgs)
            Dichotomy(0, bArg, counter++);
 
        Console.ReadLine();     
    }
 
    public static void Dichotomy(double a, double b, int iter)
    {
        double ib = a, ie = b;
        
        Func<double, double> func = (x) => Math.Pow(x, 4) - 4 * x * x - 1;
 
        double e = 0.003;        
        var arg = (a + b) / 2;
 
        var result = func(arg);
 
        while (b - a > e)
        {
            if (result > 0)
                b = arg;
            else
                a = arg;
 
            arg = (a + b) / 2;
            result = func(arg);
        }        
        Console.WriteLine($"{iter}.[Interval ({ib}, {ie})]. f(x) = 0 при x = {arg}");
        //Console.WriteLine($"Sanity check: f(x) = {func(arg)})");
    }
}
Добавлено через 7 минут
Поправочка:
if (result > e) заменить на if (result > 0)

Добавлено через 1 минуту
pechenka2324, обратите внимание, независимо от верхней границы результат всегда одинаков.

Добавлено через 11 минут
Чутка отрефакторил.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
namespace ConsoleApp3_Equation;
 
public class Program
{
    public static void Main(string[] args)
    {
        var bArgs = Enumerable.Range(2, 100).Select(x => x * x * x);
        var epsilon = 0.003;
        var counter = 1;
 
        Func<double, double> func = (x) => Math.Pow(x, 4) - 4 * x * x - 1;
 
        foreach (var bArg in bArgs)
            Dichotomy(func, 0, bArg, epsilon, counter++);
 
        Console.ReadLine();     
    }
 
    public static void Dichotomy(Func<double, double> func, double a, double b, double epsilon, int iter)
    {
        double ib = a, ie = b;
        double arg, result;
 
        do
        {
            arg = (a + b) / 2;
            result = func(arg);
 
            if (result > 0)
                b = arg;
            else
                a = arg;
        }
        while (b - a > epsilon);                 
                
        Console.WriteLine($"{iter}.[Interval ({ib}, {ie})]. f(x) = 0 при x = {arg}\t\t ( f(x) = {result} )");        
    }
 
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2021, 20:14
Помогаю со студенческими работами здесь

Найти корень методом половинного деления
k=tg(3.4*z*z*z)+cos(z+1.2) найти корень методом половинного деления плиз

Найти корень уравнения методом половинного деления и методом касательных с точностью e=0.0001.
Всем привет. Надо проверить программы на правильность/эффективность. Я проверял только частями которые давал интересующий мне...

Найти корень уравнения методом половинного деления
Найти корень уравнения \cos x-\sqrt{x}=0 методом половинного деления с точностью Е=0.0001.

Найти корень уравнения методом половинного деления
В программе методом половинного деления необходимо найти корень уравнения. Загвоздка в том что при вводе буквы программа автоматически...

Методом половинного деления найти корень уравнения
методом половинного деления найти корень уравнения y=sin(lnx)-cos(lnx)+2*lnx, заключенного на промежутке с точностью ε=10-5....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru