|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.11.2011, 16:48 | #1 |
Новичок
Джуниор
Регистрация: 21.11.2011
Сообщений: 1
|
Не могу найти ошибку
Нужно написать на С++ решения линейных алгебраических уравнений комбинированным методом хорд и касательных.
Вот мой код программы: #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; double v( double p ) { return 3*pow(p,2)-4*p-9; }//первая производная функции double z( double w ) { return 6*w-4; }//вторая производная функции double f( double y ) { return pow(y,3)+2*pow(y,2)-9*y-18; }//уравнение int main() { int n=0; double a,b,eps,c(0); cout<<"a="; cin>>a; cout<<"b="; cin>>b; cout<<"eps="; cin>>eps; do { a=a-(f(a)/(f(b)-f(a)))*(b-a); b=b-(f(b)/v(b)); n++; } while(fabs(a-b)>=eps); c = ((a+b)/2); cout<< "n=" << n <<endl; cout<< "x=" << c <<endl; return 0; } проблема заключается в том, что в некоторых случаях результат выводится неправильно...например взяв отрезок (2;4) мне выдает корень "-3". Может я конечно не совсем понял суть этого метода, но проблема кажется всё-таки в коде. Заранее, спасибо. |
22.11.2011, 10:20 | #2 |
Я
Форумчанин
Регистрация: 24.04.2010
Сообщений: 693
|
Не вникал в суть метода, но сразу бросается в глаза, что вы не используете функцию нахождения второй производной, хотя описали её, в остальном похоже на правду, в коде ошибок не заметно
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не могу найти ошибку | pufystyj | PHP | 2 | 10.03.2011 23:46 |
Не могу найти ошибку... | pufystyj | PHP | 7 | 03.03.2011 08:36 |
Не могу найти ошибку | 18541 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 16.12.2010 15:53 |
не могу найти ошибку | kaljan775 | Общие вопросы C/C++ | 2 | 23.10.2010 17:05 |
Не могу найти ошибку(С++) | Yura_n | Помощь студентам | 8 | 20.01.2009 12:36 |