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

У меня не работает прога запрограмированная на Численные методы! - C++

Восстановить пароль Регистрация
 
vip_Yaroslav
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 33
16.10.2013, 21:40     У меня не работает прога запрограмированная на Численные методы! #1
Прога по численным методам. Вычисляет Собственные значения и собственные вектора матрицы. Загвоздка в том что в матрице 3Х3 меняют два значения на отрицательные и прога выдает Inf. в чем дело???

Добавлено через 8 минут
Прога по численным методам. Вычисляет Собственные значения и собственные вектора матрицы. Загвоздка в том что в матрице 3Х3 меняют два значения на отрицательные и прога выдает Inf. в чем дело?

Исходная матрица, по которой все правильно считает:

1,6 2,3 1,2
2,3 0,6 1,5
1,2 1,5 3,8

Исправленная матрица:

1,6 2,3 -1,2
2,3 0,6 -5
1,2 1,5 3,8

Свойства и ограничения я просмотрел, но не исключаю ошибки и там. Буду рад любой помощи.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 21:40     У меня не работает прога запрограмированная на Численные методы!
Посмотрите здесь:

C++ Численные методы. Дихотомия
C++ численные методы
Численные методы C++
C++ Численные методы
C++ Численные методы(метод дихотомии)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
B@R_LOG
 Аватар для B@R_LOG
18 / 18 / 0
Регистрация: 03.07.2013
Сообщений: 49
16.10.2013, 21:50     У меня не работает прога запрограмированная на Численные методы! #2
Проверь операции с делением, скорее всего DivToZero.
А вообще надо бы код выложить.
vip_Yaroslav
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 33
16.10.2013, 21:55  [ТС]     У меня не работает прога запрограмированная на Численные методы! #3
Цитата Сообщение от B@R_LOG Посмотреть сообщение
Проверь операции с делением, скорее всего DivToZero.
А вообще надо бы код выложить.
Да, вы правы, в этом проблема. Вопрос теперь в том - что к этому приводит: не выполнение начальных условий или еще что-то. Исходные матрицы выше. Большое спасибо за ответ!
B@R_LOG
 Аватар для B@R_LOG
18 / 18 / 0
Регистрация: 03.07.2013
Сообщений: 49
16.10.2013, 22:03     У меня не работает прога запрограмированная на Численные методы! #4
Просто преподаватель подобрал пример при котором по твоей программе происходит вычисление типа 5/0.
Проверь в программе, чтобы делители перед делением не были равны 0, else throw DivToZero();
class DivToZero() {};
vip_Yaroslav
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 33
16.10.2013, 22:24  [ТС]     У меня не работает прога запрограмированная на Численные методы! #5
Цитата Сообщение от B@R_LOG Посмотреть сообщение
Просто преподаватель подобрал пример при котором по твоей программе происходит вычисление типа 5/0.
Проверь в программе, чтобы делители перед делением не были равны 0, else throw DivToZero();
class DivToZero() {};
Я понимаю как это все программно происходит. Меня интересует этот вопрос с точки зрения Численных методов? Если можешь объясни?

Добавлено через 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
25
26
27
28
29
30
31
32
33
34
35
bool conditionalTest(double *vector, double *vector2, int size, double epsilon)
{
    if (iterationNumber != 1)
    {
        iterationNumber++;
        cout << "vector : ";
        outVector(vector, size);
        cout << "vector2 : ";
        outVector(vector2, size);
        result =  new double[size];
        for (int i = 0; i < size; i++)
            result[i] = vector2[i] / vector[i];
        cout << "result : ";
        outVector(result, size);
        _getch();
        eigenvalue = result[0];
 
        for (int i = 0; i < size; i++)
            for (int j = i + 1; j < size; j++)
                if (fabs(result[i] - result[j]) > epsilon) return false;
        return true;
    }
    else
    {
        iterationNumber++;
        return false;
    }
}
 
double** createMatrix(double**  matrix, int size) {
    matrix = new double*[size];
    for (int i = 0; i < size; i++)
        matrix[i] = new double[size];
    return matrix;
}
Yandex
Объявления
16.10.2013, 22:24     У меня не работает прога запрограмированная на Численные методы!
Ответ Создать тему
Опции темы

Текущее время: 16:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru