Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259

Библиотека Eigen

25.07.2015, 10:57. Показов 3107. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел недавно такую библиотеку и хотел потренироваться.

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
VectorXd fit(MatrixXd data, VectorXd X)
{
    int
        points = data.cols(),
        nodes = points - 4,     // conection nodes
        neq = 4*(points-3);     // number equations (for piecewise function)
    MatrixXd 
        A(neq,neq);
    VectorXd
        x(points), y(points);
// get data
    x << data.col(0);
    y << data.col(1);
 
    VectorXd
        B(neq), coeffs(neq);
// initialization
    A.fill(0), B.fill(0);
 
    
 
// interpolation by function (line, parabola or hyperbole)
    if (points > 1 && points <= 4)
    {
        for(int i = 0; i < points; i++)
            for(int j = 0; j < points; j++)
                A(i,j) = pow(x(i), points-j-1);
        B = y;
    }
        
    
 
 
// = = = = C U B I C  S P L I N E = = = =
 
    if (points > 4)
    {
        // the first three equations
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 4; j++)
                A(i,j) = pow(x(i), 3-j);
            B(i) = y(i);
        }
            
        // the last three equations
        for (int i = 1; i <= 3; i++)
        {
            for (int j = 0; j < 4; j++)
                A(neq-i,neq-4+j) = pow(x(points-i), 3-j);
            B(neq-i) = y(points-i);
        }
 
        // leftover equations
        int
            shift = 4,
            index = 2;
        for(int i = 5; i < neq-5; i+=4)
        {
            for(int j = 0; j < 4; j++)
            {
                A(i,shift+j) = pow(x(index), 3-j);
                A(i+1,shift+j) = pow(x(index+1), 3-j);
            }
            B(i) = y(index);
            B(i+1) = y(index+1);
            index ++;
            shift += 4;
        }
 
        // derivations 
        int 
            row = 3, 
            col = 0;
        for (int i = 2; i < nodes+2; i++)
        {
            A(row,col) = 3*pow(x(i),2);
            A(row,col+1) = 2*x(i);
            A(row,col+2) = 1;
 
            A(row+1,col) = 6*x(i);
            A(row+1,col+1) = 2;
            for (int j = col+4; j < col+7; j++)
            {
                A(row,j) = -A(row,j-4);
                A(row+1,j) = -A(row+1,j-4);
            }
            row += 4;
            col += 4;
        }
    }
    // returning the contants for the piecewise fucntion
    coeffs = A.lu().solve(B);
 
    return coeffs;
}
Вылетает такое чудовище. Вроде ничего сложного нету, думаю проблема с объявлениями. Прошу помочь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2015, 10:57
Ответы с готовыми решениями:

Использование матриц Eigen в динамической памяти
Вопрос как это можно сделать

Eigen - инициализация константной комлексной матрицы
Здравствуйте. Хочу в программе использовать комлексную матрицу, значения которой были бы известны на этапе компиляции. Прикинул два...

Дорожная библиотека + основная библиотека процессов
Доброго времени! Пытаюсь совместить в одной модели дорожную библиотеку и библиотеку моделирования процессов следующим образом. По дороге...

3
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
25.07.2015, 12:33  [ТС]
в массив data передаю две колонки и далее размеры массивов отрицательные. Удалите тему
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
25.07.2015, 12:36
Цитата Сообщение от nuHrBuH Посмотреть сообщение
Вылетает такое чудовище.
В консоли написано:
... Invalid sizes when resizing matrix or array...
Ставь точку останова в PlainObjectBase.h на строке 241 и смотри стек вызовов.

Добавлено через 33 секунды

Не по теме:

Цитата Сообщение от nuHrBuH Посмотреть сообщение
Удалите тему
Здесь такое не практикуется обычно.

2
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
27.07.2015, 21:46
Цитата Сообщение от nuHrBuH Посмотреть сообщение
Нашел недавно такую библиотеку и хотел потренироваться.
Так как вы знакомы с Matlab,посоветую посмотреть также на библиотеку:
http://arma.sourceforge.net/
у ней похожий синтаксис и довольно неплохие возможности.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2015, 21:46
Помогаю со студенческими работами здесь

Библиотека QT Linux X11 и библиотека QT Embedded Linux одно ито же???
Вот стал скачивать эти библиотеки и вижу - у них размер одинаковый......да и ссылка одна и та же..... Это одно и тоже ? а в чём прикол???...

Библиотека
Лабораторная работа 9 Результатом работы должна стать база данных для небольшой биб- лиотеки. Она должна содержать следующую...

Библиотека
Помогите, пожалуйста! За недостатком времени, переделывала под себя чужую работу. Как сделать в виде отчётов &quot;Статистика...

библиотека GD
написал свою капчу, решил залить на сайт и вот результат. На бесплатном хосте, там где я тестирую всякие коды, капча отлично работает, а...

библиотека
Сделала программу Библиотека, но при добавлении почему-то пишет ошибку, хотя удаляет, редактирует без проблем. Все перепробовала. Помогите,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru