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

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

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

Функция: найти все корни, используя метод касательных - C++

14.04.2012, 01:04. Просмотров 865. Ответов 1
Метки нет (Все метки)

Здравствуйте,помогите с программой пожалуйста. Суть задачи такова :для функции Название: Безымянныйч.jpg
Просмотров: 161

Размер: 7.4 Кб найти все корни используя метод касательных.Я вот набросал кое-что,но выводит почему то только один корень..Что не так?
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
59
60
61
62
63
64
65
#include <cstdlib>
#include <iostream>
#include <math.h>
#define e 0.0001
using namespace std;
 
int fact(double x) {
 int y=1;
 for (int k = 1; k <= x; k ++)
 y=y*k;
 return y;
}
 
float f(float x){
 float F;
 for (int k = 0; k <= 10; k ++)
 { 
 F+=pow(-1,k)*(((float)(fact(19-k)))/((float)(fact(k)*fact(20-2*k))))* pow(4* pow(x,2),10-k);
 }
 return F*10;}
 
float f1(float x){
 float F;
 for (int k = 0; k <= 10; k ++)
 { 
 F+=pow(-1,k)*(((float)(fact(19-k)))/((float)(fact(k)*fact(20-2*k))))*pow(4,10-k)*2*(10-k)* pow(x,2*(10-k)-1);
 }
 return F*10;}
 
float f2(float x){
 float F;
 for (int k = 0; k <= 10; k ++)
 { 
 F+=pow(-1,k)*(((float)(fact(19-k)))/((float)(fact(k)*fact(20-2*k))))*pow(4,10-k)*2*(10-k)*(2*(10-k)-1)* pow(x,2*(10-k)-2);
 }
 return F*10;}
 
float kos()
{ float a,b,x,dx;
int k=0;
if (f(a)*f2(a)>0) {
    dx=b;
}
else dx=a;
do {
    dx-=f(dx)/f1(dx);
        k++;
 }
 while (fabs(f(dx))>= e);
return dx;
}
 int main() {
    float a,b,x;
    int k=0;
cout<<("Vvedite a: ");
cin>>a;
cout<<("Vvedite b: ");
cin>>b;
cout<<(" metod kasatelnuh");
x=kos();
cout<<("\nZnachenie kornya na zadannom promejutke = ")<<x;
cout<<("\nKollichestvo iteracui = ")<<k;
                system("PAUSE");
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 01:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция: найти все корни, используя метод касательных (C++):

Найти корни уравнений ax^3+bx^2+cx=0 и y^3-ay^2-b=0, используя процедуру. Есть ли у этих уравнений совпадающие корни? - C++
Помогите пожалуйста решить данную задачу, на тему программирование с использованием процедур. Просто сам не врубаюсь(

Исследовать итерационный метод- метод касательных для решения нелинейных уравнений - C++
прочитал много всего , но сам пример реализовать никак не могу , кто может помогите F(x) = x5+5x+1=0 с...

Задана функция x^3 (частный случай кубического полинома). Найти корни. - C++
Задана функуия x^3 (частный случай кубического полинома). Найти корни. При условии: 1) Коэфициенты действительные. 2) Коэфициенты...

Найти все целые корни уравнения - C++
Найти все целые корни уравнения ах^3 + bх^2 + сх + d = 0, где а, b, с и d — заданные целые числа, причем A и d не ровно 0. Замечание: ...

Как найти все корни уравнения? - C++
Программа находит решение уравнения методом деления отрезка пополам. Но на выходе я получаю только один корень, а по хорошим их &gt;1. Как...

Найти все целые корни кубического уравнения - C++
Найти все целые корни уравнения ах3 + bх2 + сх + d = 0, где а, b, с и d — заданные целые числа, причем a не равно 0 и d не равно 0....

1
UFO94
264 / 253 / 13
Регистрация: 04.04.2012
Сообщений: 546
14.04.2012, 12:15 #2
Ээ.... Хорошо. Ты ввел a и b c клавиатуры. А потом? В функции kos ты обьявил новые a и b, и их даже не инициализировал. Убери из функции kos обьявление a и b и поставь их в аргументы функции. А дальше посмотрим.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2012, 12:15
Привет! Вот еще темы с ответами:

Найти все корни уравнения на заданном интервале - C++
Помогите написать программу буду очень признателен) В ходе выполнения работы необходимо создать программу, которая находит все корни...

Распарсить нелинейное уравнение и найти все его корни - C++
На вход задается нелинейное уравнение, содержащие операции +, -, *, /, ^. Необходимо найти все его корни (те, при которых уравнение будет =...

Найти точно все корни уравнения указанными методами - C++
Найдены точно все корни уравнения указанными методами. Проведено сравнение результатов и методов. Методы: 1) Метод Ньютона...

Найти все целые корни уравнения ax3+bx2+cx+d=0 - C++
Добрый вечер. Есть задача : Вводятся целые числа a,b,c,d.Найти все целые корни уравнения ax3+bx2+cx+d=0 (корни искать среди делителей...


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

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

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