Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
RennarD
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 12
#1

Метод итераций для развязывания нелинейного уравнения - C++

18.03.2013, 00:26. Просмотров 676. Ответов 1
Метки нет (Все метки)

- развязать заданое уравнение с точностью е = е (i – 1) / 10^(-3), і = 1, 2, ..., 4; e0 = 0.01 методом итераций.
Прикинул немного,но расчет кривой получается.
Корни уравнения должны быть
{~(-2.999999683),~(-1.39681),~0.412779}
Буду очень благодарен,если кто-то ткнет мой глупый нос в мои глупые ошибки.

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
double derivative(double x)
   {
     x=(-3*log(x+3)-3.7)/(0.6*pow(x,3));
 
     return x;
   }
 
int main()
   {
     double a=-3.2, b=-2.85, eps=0.1;
     double x1,x0,q;
     printf("\n     eps   | k |        X    \n\n");
      double q1=-5/3*(3/(pow(a,3)*(a+3))-3*(log(a+3)+3.7)/pow(a,4));
      double q2=-5/3*(3/(pow(b,3)*(b+3))-3*(log(b+3)+3.7)/pow(b,4));
     if (fabs(q1) < fabs(q2))
          q=fabs(q1);
     else q=fabs(q2);
     for (int i=0; i<=6; i++)
        {
          x1=(a+b)/2;
          int k=0;
          do
             {
               x0=x1;
               x1=derivative(x0);
               k++;
             }
          while (fabs(x1-x0)>=eps*(1-q)/q);
          printf(" %0.7f  %d    %0.10e\n",eps,k,x1);
          eps/=10;
        }
 
     double x2=a;
     int k;
     printf("\n   X0        k    \n\n");
     eps=pow(10,-30);
     while (x2<=b)
        {
          x1=x2;
          k=0;
          do
             {
               x0=x1;
               x1=derivative(x0);
               k++;
             }
          while (fabs(x1-x0)>=eps*(1-q)/q);
          printf("  %0.2f       %d\n",x2,k);
          x2+=0.03;
        }
 
     getch();
   }
Добавлено через 1 час 36 минут
Да,и совсем забыл дописать: исходное уравнение
0.6*x^4 + 3ln(x+3) - 3.7=0

Добавлено через 5 часов 30 минут
Need help!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 00:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод итераций для развязывания нелинейного уравнения (C++):

Метод Ньютона и итераций для нелинейного уравнения - C++
Всем доброго времени суток) Помогите реализовать программу на С++ решающую уравнение 2x-2*x2-1=0 методом итерации и методом Ньютона: ...

Решение нелинейного уравнения методом итераций - C++
Я не знаю куда кидать, кто поможет сделать эту работу Программа должна вычислять корень нелинейного уравнения методами: простых...

Решение нелинейного уравнения методом итераций в с++ - C++
Помогите пожалуйста решить нелинейное уравнение x^2-2x-1 = 0 промежуток от 0 до 3. Находил несколько кусков кода но так и не понял как...

Метод итераций для уравнения - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; double e=2.7; double q=0; int gr1=-100, gr2=0; double al; double f...

Решение нелинейного уравнения методом простых итераций - C++
как будет выглядеть код программы на С++ &quot;решение нелинейного уравнения методом простых итерации?&quot;

Решение нелинейного уравнения методом простых итераций - C++
f(x)=arcsin(2x+1)-x^2=0 , ошибок при компиляции нету , но при запуске выдаёт Asin: Domain Error и Floating Point: Squere Root of NEgative...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RennarD
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 12
20.03.2013, 00:01  [ТС] #2
Проблема актуальна.
По косточкам разбирать не надо,если кто может,просто прогляньте.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2013, 00:01
Привет! Вот еще темы с ответами:

Решение нелинейного уравнения методом простых итераций - C++
Здравствуйте, помогите пожалуйста написать программу для решения нелинейного уравнения методом простых итераций f(x)=cos(x)-(-x+5) c...

Расчёт корня нелинейного уравнения (Методом итераций) - C++
Всем доброго дня очень нужно записать на С++ программу которая находит корень нелинейного уравнения (методом итераций)..Знаю что уже есть...

Метод простых итераций для одного уравнения - C++
arccos(x) - sqrt(1-0.3x^3) = 0 Отрезок от +приближенное значение корня 0.5629 Для метода итераций получается, что ...

Решение нелинейного уравнения. Метод хорд и касательных - C++
Написал я программку для решения, но вот незадача: Не находит их на некоторых отрезках. Уравнение: ln(x+1)-p/(x^2)=0 p = -1...1 ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru