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

Произведение матрицы на вектор - C++

Восстановить пароль Регистрация
 
Artyomdoc
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 58
27.12.2013, 21:34     Произведение матрицы на вектор #1
очень нужно ,пожалуйста
Задача на Произведение динамической матрицы на вектор. и нахождение результата надо оформить функцией
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2013, 21:34     Произведение матрицы на вектор
Посмотрите здесь:

C++ Вычислить произведение матрицы на вектор
C++ Вычислить произведение матрицы на вектор и максимальный элемент полученого вектора.
C++ Среди столбцов матрицы А найти столбец, содержащий минимальное произведение своих элементов и принять этот столбец за вектор X
Матрицы. Получить вектор X, равный P-й строке матрицы, и вектор Y, равный Q-му столбцу матрицы C++
Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex5
881 / 616 / 81
Регистрация: 12.04.2010
Сообщений: 1,551
27.12.2013, 22:06     Произведение матрицы на вектор #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// произведение матрицы ( m строк, n столбцов ) на вектор ( n элементов )
void product( int m, int n, double** matrix, double* vec, double* result )
{
    if( ! matrix || ! vec || ! result )
        return;
 
    for( int i = 0; i < m; ++i )
    {
        double sum = 0;
 
        for( int j = 0; j < n; ++j )
        {
            sum += matrix[i][j] * vec[j];
        }
 
        result[i] = sum;
    }
}
Artyomdoc
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 58
27.12.2013, 22:57  [ТС]     Произведение матрицы на вектор #3
а вектор как создать? и матрицу именно динамически как задать?
Alex5
881 / 616 / 81
Регистрация: 12.04.2010
Сообщений: 1,551
28.12.2013, 13:20     Произведение матрицы на вектор #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
int main()
{
    // создание динамических массивов (выделение памяти) 
    int m = 3, n = 4;
    double** matr = new double*[m];
    for( int i = 0; i < m; ++i )
    {
        matr[i] = new double[n];
        for( int j = 0; j < n; ++j )
        {
            matr[i][j] = j;
        }
    }
    double* v = new double[n];
    double* res = new double[n];
 
    // использование **matr, *v, *res в вычислениях
    // ...
    // ... 
 
    // удаление( освобождение памяти )
    for( int i = 0; i < m; ++i )
    {
        delete[] matr[i];
    }
    delete[] matr;
    delete[] v;
    delete[] res;
 
    getchar();
}
Yandex
Объявления
28.12.2013, 13:20     Произведение матрицы на вектор
Ответ Создать тему
Опции темы

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