0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 18

Метод половинного деления

08.02.2014, 14:31. Показов 17193. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста написать программу для решения уравнения методом половинного деления. уравнение F(x)=0. как описать это уравнение в программе? и решать его с другими значениями? то есть там нужно знать F(a) и F(c).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.02.2014, 14:31
Ответы с готовыми решениями:

Метод половинного деления и метод простой итерации
Ребят, помогите пожалуйста написать программу на С#, решение нелинейного уравнения. Уравнение: x-10·sinx = 0 - Сделать Отделение корней...

Метод половинного деления
Доброго времени суток. Есть ли программа для отделения корней уравнения вида x^3 - 3x^2+9x-8=0 Метод половинного деления.

Метод половинного деления
Помогите пожалуйста решить уравнение методом половинного деления: 5sin(x)=x^2, x € , с точностью 10^-4.

17
Заблокирован
08.02.2014, 16:48
Вы сам алгоритм метода понимаете?
0
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 18
08.02.2014, 17:28  [ТС]
да, и блок-схема есть. но я не могу понять как F(c) и F(a) найти.
Миниатюры
Метод половинного деления  
0
Заблокирован
08.02.2014, 17:38
Это значение функции в известных точках A, C
0
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 18
08.02.2014, 18:01  [ТС]
это понятно, но куда подставить значения концов отрезков? как именно найти значение этой функции в точках а и с?
0
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
08.02.2014, 18:03
В уравнение подставить.
0
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 18
08.02.2014, 18:05  [ТС]
блин, если условие заключается в том,чтобы написать программу для функции F(x)=0, больше ничего не дано.
0
Заблокирован
08.02.2014, 18:07
Bogema Fire, у вас есть функция:
Code
1
F(x)
вот сюда вы и подставляете свои значения.
Прочтите еще раз теорию об этом методе, похоже, вы его не до конца разобрали.
Допустим, ваша заданная функция
Code
1
sin(x)
и есть точки а, с, заданные по условию. К примеру
Code
1
a = 2, c =3;
Вы должны найти
Code
1
sin(2), sin(3)
0
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
08.02.2014, 18:09
От вас видимо требуется описать лишь алгоритм решения, в качестве вычислителя F(x) можно сделать метод-заглушку
C#
1
static double F(double x) { return 0; }
, куда потом можно вписать уравнение.

Добавлено через 1 минуту
Вот готовый алгоритм, правда на Паскале.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
08.02.2014, 18:10
Kruds, return забыли, иначе не сработает.
1
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 18
08.02.2014, 18:18  [ТС]
спасибо большое всем! теперь дошло и буду писать прогу!))
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
08.02.2014, 23:08
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double a = 0;
            double b = 0;
            double c = 0;
            do
            {
                Console.WriteLine("Введите a: ");
                a = double.Parse(Console.ReadLine());
                Console.WriteLine("Введите b: ");
                b = double.Parse(Console.ReadLine());
                c = (a + b) / 2;
                if ((res(a) - res(c)) < 0)
                    a = c;
                else
                    b = c; 
            }
            while (!((b-a)>c));
            Console.WriteLine("Значение x: {0:d3}, значение y: {1:d3}",
                             (a + b) / 2, (b - a) / 2);
            Console.ReadLine();
            
        }
        static double res(double n)
        {
            return 1;
        }
    }
}
0
3 / 3 / 4
Регистрация: 08.02.2014
Сообщений: 213
24.09.2015, 18:33
Вот по аналогии написал метод.
Вот само задание: С помощью метода двоичного деления решить уравнение F(x)= x^3-cos(x)+1
Начальные значения:a=-0.6 b=-0.4 e=10^(-10)
Но выдает предупреждение на 21 строке :An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll
Что я сделал неправильно и как это исправить??

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
 static void Urovnenie()
        {
            double a = 0;
            double b = 0;
            double c = 0;
            do
            {
                Console.WriteLine("Введите a: ");
                a = double.Parse(Console.ReadLine());
                Console.WriteLine("Введите b: ");
                b = double.Parse(Console.ReadLine());
 
                c = Math.Pow(a,3) - Math.Cos(b) + 1;
               // c = (a + b) / 2;
                if ((res(a) - res(c)) < 0)
                    a = c;
                else
                    b = c;
            }
            while (!((b - a) > c));
            Console.WriteLine("Значение x: {0:d3}, значение y: {1:d3}",
                             (a + b) / 2, (b - a) / 2);
            Console.ReadLine();
 
        }
 
        static double res(double n)
        {
            return 1;
        }
0
3 / 3 / 0
Регистрация: 08.02.2016
Сообщений: 50
20.03.2021, 12:09
MultyStepan, У вас точка с запятой лишняя.
1
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
20.03.2021, 12:32
darklol33, во-первых прошло 6 лет ,во-вторых тут все точкозапятые на своих местах
0
0 / 0 / 0
Регистрация: 28.12.2020
Сообщений: 1
20.03.2021, 12:57
Diamante, Ой, мало того что ошибся, так и ещё не с того аккаунта написал) Там ошибка в спецификаторе формата d, который уважаемый MultyStepan использует при выводе:
Цитата Сообщение от MultyStepan Посмотреть сообщение
Console.WriteLine("Значение x: {0:d3}, значение y: {1:d3}",
                             (a + b) / 2, (b - a) / 2);
Спецификатор d3 относится только к целочисленным типам, например, для чисел 22, 1021, 56... Но ни как не к вещественным! А, как можно было догадаться, если корень ищется на отрезке [-0.6; -0.4], то он должен быть вещественным. А за такой тип данных отвечает спецификатор F, поэтому вывод должен бы быть следущим:
C#
1
2
Console.WriteLine("Значение x: {0:F3}, значение y: {1:F3}",
                             (a + b) / 2, (b - a) / 2); // => Значение x: -0.369, значение y: 0.231
А на счёт временного промежутка, то кто знает, может кому-то это поможет через 100 лет
0
1 / 1 / 0
Регистрация: 24.03.2021
Сообщений: 8
25.03.2021, 15:13
Bogema Fire, можешь скинуть полностью свой код о половинном делении,пожалуйста ?
1
 Аватар для JustinTime
964 / 582 / 268
Регистрация: 20.12.2016
Сообщений: 1,506
25.03.2021, 16:18
cosmos_, Метод деления отрезка пополам
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.03.2021, 16:18
Помогаю со студенческими работами здесь

Метод половинного деления
Ребят помогите пожалуйста составить программу, чтобы найти все корни уравнения x^3 + 12 = x(3x − 4) using System; ...

Метод половинного деления
Здравствуйте. Стоит задача - сгенерировать через RND массив, а затем методом половинного деления найти элемент, который вводится с...

метод половинного деления
Необходим решить уравнение, например х-2, методом половинного деления. Вот код using System; class Bis { static void Main() ...

Метод половинного деления на С#
Ребят, помогите пожалуйста написать программу на С#, решение нелинейного уравнения методом половинного деления, найти корень ...

Метод половинного деления, исправить код
Господа программисты,помогите пожалуйста поправить программу,она должна считать 4 корня. А также,если можно,то проверку в эксели и...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru