С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
DiaDiaDia
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 14
1

Умножение матриц

22.12.2014, 05:19. Просмотров 512. Ответов 1
Метки нет (Все метки)

Здравствуйте помогите пожалуйста, не понимаю почему не получается перемножить матрицы.
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
#include "stdafx.h"
 
#include <iostream>
#include <ctime>
#include <cmath>
 
using namespace std;
 
int main()
{
double x[4][3]={{0,1,1},{1,2,1},{-1,0,-1},{1,-1,-1}};
double xx[3][4]={{-0.09,0.27,-0.27,0.45},{0,0.5,0.5,0},{0.27,-0.32,-0.68,-0.36}};
double b[1][4]={1,1,1,1};
double m=1;
 
double w[1][3];
 for(int i=0;i<4;i++)
 { for(int j=0;j<1;j++)
    {      w[i][j]=0;
    for (int l=0;l<3;l++)
        {
            w[i][j]=w[i][j]+xx[i][l]*b[l][j];
        }
    }
}      
    system("pause");
}
Добавлено через 38 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double x[4][3]={{0,1,1},{1,2,1},{-1,0,-1},{1,-1,-1}};
double xx[3][4]={{-0.09,0.27,-0.27,0.45},{0,0.5,0.5,0},{0.27,-0.32,-0.68,-0.36}};
double b[4][1]={{1},{1},{1},{1}};
double m=1;
 
double w[3][1];
double e[4][1];
for(int i=0;i<3;i++)
 { for(int j=0;j<1;j++)
    {    w[i][j]=0;
    for (int l=0;l<3;l++)
        {
            w[i][j]=w[i][j]+xx[i][l]*b[l][j];
        }
    }
Немного исправила но все равно считается неверно(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2014, 05:19
Ответы с готовыми решениями:

Умножение треугольных матриц«Методы обработки разреженных матриц»
Нужно перемножить треугольные матрицы в обычном виде и в свёрнутом. С обычным...

Умножение матриц
Доброго всем времени суток! Нужна Ваша помощь. Задали сделать задачку на...

Умножение матриц
надо получить матрицу А*В

Умножение матриц
Ошибка: не хочет умножать. c=c+a*b; int **mat(int n){ int **matrix; ...

Умножение матриц
Даны две квадратные матрицы A и B, вычислить A2B2

1
Fulcrum_013
1481 / 1119 / 131
Регистрация: 14.12.2014
Сообщений: 9,554
Завершенные тесты: 3
22.12.2014, 06:24 2
Потому что считаешь первый элемент и записываешь его в исходную матрицу. когда считаешь второй то вместо исходного в первом элементе используется уже вычесленный элемент результата. Сделай отдельную матрицу под результат.
пример:
C++
1
2
3
4
5
6
7
8
9
10
TMatrix operator *(TMatrix& m1, TMatrix& m2) {
       TMatrix R;
    for (int i = 0; i < MatrixSize; i++)
        for (int j = 0; j < MatrixSize; j++) {
            R[i][j] = 0;
            for (int k = 0; k < MatrixSize; k++)
                R[i][j] += m1[i][k] * m2[k][j];
        }
         return R;
}
Добавлено через 50 минут
А не матрица у тебя отдельная. Только у тебя получается что ты пытаешься умножить вектор b на матрицу xx. в результате будет вектор длиной 4 а не матрица.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2014, 06:24

Умножение матриц
int **calculation3(int **mat1,int **mat2,int q,int e,int w,int t){ int...

Умножение матриц
Найти произведение k квадратных матриц А1*А2*...Аk. Процедура: вычисление...

Умножение матриц
Плиз помогите с написанием программы умножения матриц, дело в том что матрица...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru