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

Степенной метод нахождения наибольшего по модулю собственного значения и соответствующего ему собственного вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить программу формирования массива, элементами которого являются цифры числа N http://www.cyberforum.ru/cpp-beginners/thread1125551.html
Здравствуйте))) Хотел спросить правильно работает программа соответствует с условием задачи?? А то какие то сомнения. Дано натуральное число N. Составить программу формирования массива, элементами...
C++ Выяснить фамилии пациентов, которые обращались в больницу больше трех раз в год. Исправить ошибки в коде Здравствуйте! возникли небольшие сложности с решением данной задачи, помогите пожалуйста разобраться, в чем моя ошибка, помогите доделать? задание: имеются сведения о посещении пациентами... http://www.cyberforum.ru/cpp-beginners/thread1125543.html
C++ Функция возвращает странное значение
Да, понимаю, что скорее всего ошибка глупая, но голова разбитая и найти не могу. Прилагаю полный код. В самом низу будет код основной программы и под ней напишу на какой строчке какая функция...
C++ Встроенный редактор кода не подсвечивает парные фигурные скобки
Видел в шапке много всяких вариантов, но я так понял, в тех, что я видел, встроенный редактор кода не подсвечивает парные фигурные скобки вот так как в делфи, он внизу на скрине (не знаю как сделать...
C++ Напечатать те слова, которые состоят из всех букв, что и слово "red" http://www.cyberforum.ru/cpp-beginners/thread1125484.html
Напечатать те слова, которые состоят из всех букв, что и слово "red". Повторения допускаются. Слово находится в файле red.txt. #include <iostream> #include <fstream> #include <string> using...
C++ Создать класс Date для работы с датами в формате «год.месяц.день» Задания должны быть реализованы двумя способами: - тип данных представляется структурой с необходимыми полями, а операции реализуются как внешние функции, которые получают объекты данного типа в... подробнее

Показать сообщение отдельно
Alexandr1966
26 / 26 / 1
Регистрация: 17.12.2012
Сообщений: 438

Степенной метод нахождения наибольшего по модулю собственного значения и соответствующего ему собственного вектора - C++

21.03.2014, 18:16. Просмотров 2728. Ответов 11
Метки (Все метки)

Привет всем. Есть код программы, но почему то он не работает, подскажите в чем дело, может ввожу неправильно.

Тестовый пример:

Матрица А:
4 2 2
2 5 1
2 1 6

Матрица x1:
0,8077c1
0,7720c1
c1

Ответ:
L1=8,3874

Код программы:
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
// ВМ6.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "math.h"
#include "conio.h"
 
void Input(int n,int A[][100])
{
int i,j;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
scanf("%d",&A[i][j]);
}
 
void Matr(int A[][100],int n)
{
float w0[100],w[100],summ=0,w0norm[100],e,d,d0;
int i,j,k;
for (i=0;i<n;i++)
w0[i]=0;
w0[0]=1;
do
{
for (i=0;i<n;i++)
summ=summ+w0[i]*w0[i];
d0=sqrt(summ);
for (i=0;i<n;i++)
w0norm[i]=w0[i]/d0;
for (i=0;i<n;i++)
    {
    w[i]=0;
    for (j=0;j<n;j++)
    w[i]=w[i]+A[i][j]*w0norm[j];
    }
summ=0;
for (i=0;i<n;i++)
summ=summ+w[i]*w[i];
d=sqrt(summ);
e=fabs(d-d0);
for (i=0;i<n;i++)
w0[i]=w[i];
summ=0;
}
while(e>0.001);
printf("%f\n",d);
for (i=0;i<n;i++)
printf("%f\n",w0norm[i]);
}
 
void main()
{
int n,A[100][100];
scanf("%d",&n);
Input(n,A);
Matr(A,n);
}
Добавлено через 12 часов 47 минут
есть предложения?

Добавлено через 1 час 47 минут
кто-нибудь в курсе как исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.