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

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

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

Решить уравнение с абсолютной точностью - C++

02.12.2010, 21:45. Просмотров 516. Ответов 7
Метки нет (Все метки)

помогите,пожалуйста,составить программу:
Используя метод итераций решить следующее уравнение:
5 sin Z = ( 1+ Z )/ 2
с абсолютной точностью ε = 10-3 , если начальное приближение корня Z0 = 1,75.

Добавлено через 5 часов 34 минуты
используя оператор while do
никто не поможет?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 21:45     Решить уравнение с абсолютной точностью
Посмотрите здесь:

Решить уравнение на С++ - C++
(42*c-d/2+1)/(a*a-ln(b-5) )

Решить уравнение - C++
ПОМОГИТЕ РЕШИТЬ СРОЧНО!!! программа должна решать уравнение e^(-x^2 )=∑_(n=0)^∞▒(〖(-1)〗^n x^2n)/n! 1-x^2+x^4/2!-x^6/3!+x^8/4!-…|x|<∞

Решить уравнение - C++
С++ 2/(x^2+a)+4/(x^2+b)=c

Решить уравнение - C++
(x^2+bx+a)(x^2+bx)=c

Решить уравнение - C++
Здраствуйте уважаемые программисты. Не получается решить уравнение. Дело в том что массивы мы еще не проходили, а по другому я не...

Решить уравнение - C++
помогите решить уравнение

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
02.12.2010, 22:35     Решить уравнение с абсолютной точностью #2
Вроде как-то много итераций получается. Может что и не так, но ответ вроде подходит
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
#include <iostream>
#include <cmath>
 
double f(double x0)
{
    return (10 * sin(x0) - 1);
}
 
int main()
{
    double z = 0, z0 = 1.75;
    int i = 0;
    do
    {
        if(z)
            z0 = z;
        z = f(z0);
    } while(abs(z - z0) > 0.001);
    
    std::cout << "z = " << z <<  std::endl;
 
    system("Pause");
    return 0;
}
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
02.12.2010, 22:48  [ТС]     Решить уравнение с абсолютной точностью #3
спасибо огромное!
если честно плохо понимаю с ++,я так понимаю в с будет почти так же...
только не понимаю как эта формула здесь работает,не вижу не её ,не её преобразований,или я чего-то не понимаю!? 5 sin Z = ( 1+ Z )/ 2
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
02.12.2010, 22:55     Решить уравнение с абсолютной точностью #4
Цитата Сообщение от pushka Посмотреть сообщение
5 sin Z = ( 1+ Z )/ 2
Из этого следует, что

C++
1
Z = 10 * sin(Z) - 1;
По этой формуле и вычисляется каждое последующее значение Z. Чтобы его получить в правую часть подставляется Z из предыдущего шага итерации, т.е. Z0; Длится всё это безобразие, пока разница Z - Z0 больше погрешности, с которой надо считать.
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
03.12.2010, 14:47  [ТС]     Решить уравнение с абсолютной точностью #5
о,спасибо,всё понятно!

Добавлено через 14 часов 38 минут
помогите,всё работает,но почему-то в ответе 0

Добавлено через 1 час 1 минуту
исправила,теперь не могу остановить поток цифр...
не подскажете как это сделать!?

Добавлено через 8 минут
что не так!?подскажите
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <math.h>
 
 
int main()
{
    float z = 0, z0 = 1.75;
    int i = 0;
    do
  {
 
        if(z)
            z0 = z;
        z=(10 * sin(z) - 1);
        printf ("\n budet=%f,z);
        
    } while(abs(z - z0) > 0.001);
       z=(10 * sin(z) - 1);
    
    printf ("\n itogo=%f,z);
 
  
    return 0;
}
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
03.12.2010, 14:53     Решить уравнение с абсолютной точностью #6
кавычку забыли в строке 14, поэтому цикл бесконечный
pushka
0 / 0 / 0
Регистрация: 06.10.2010
Сообщений: 35
03.12.2010, 14:58  [ТС]     Решить уравнение с абсолютной точностью #7
нет,не забыла,просто на другом компе делаю
не понимаю получается миллион итереций,какой-то бред
ничего не понимаю

Добавлено через 1 минуту
а ещё что вам не нравится?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2010, 21:45     Решить уравнение с абсолютной точностью
Еще ссылки по теме:

Решить уравнение - C++
Буду благодарен за помощь))

Решить уравнение - C++
у меня какая- то ошибка ((0.5/M_PI)*exp(x/5))+(0.2+(sin(x)*(sin(x))))/(pow(x,1.0/4)*(log(x)-0,1))-(1/fabs(sin(x))); ...

Решить уравнение A*x^2+B*y^2=C - C++
Помогите написать программу на С. Написать программу, выводящую все целочисленные решения уравнения A*x^2+B*y^2=C, лежащие в диапазоне...

Решить нелинейное уравнение - C++
Подкинули в универе такую задачку,решить нелинейное уравнение типа: ctgx-x\4=0. С виду вроде просто,но вот как это запихнуть в...


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

Или воспользуйтесь поиском по форуму:
sirnet
13 / 13 / 2
Регистрация: 12.02.2010
Сообщений: 53
03.12.2010, 21:45     Решить уравнение с абсолютной точностью #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <stdlib.h>     
#include <stdio.h>
#include <math.h>
 
int main(int argc, char **argv)
{
    float z = 0, z0 = 1.75;
    //int i = 0;
    do
  {
 
        if(z)
            z0 = z;
        z=(10 * sin(z) - 1);
        printf ("\n budet=%f",z);
        
    } while(abs(z - z0) > 0.001);
       z=(10 * sin(z) - 1);
    
    printf ("\n itogo=%f",z);
 
  
    return 0;
}
Добавлено через 1 минуту
то что выдал после запуска
Код
budet=-1.000000
 budet=-9.414710
 budet=-1.100677
 budet=-9.915145
 budet=3.709496
 budet=-6.378659
 budet=-1.953290
 budet=-10.277369
 budet=6.529882
 budet=1.442024
 budet=8.917203
 budet=3.860594
 budet=-7.586338
 budet=-10.643967
 budet=8.388203
 budet=7.606655
 itogo=8.695704
Yandex
Объявления
03.12.2010, 21:45     Решить уравнение с абсолютной точностью
Ответ Создать тему
Опции темы

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