线性代数矩阵乘法用C++代码实现,再也不用担心算错啦!

news/2025/1/16 4:47:27/

c++实现矩阵相乘

    • 矩阵乘法的定义
    • 矩阵相乘的代码
    • 完整的程序
    • 实现线代其它操作的参考链接

线性代数矩阵相乘一旦阶数多了算的可真是让人CPU疼,但可爱的计算机是不怕累又超听话,所以用一个c++程序帮助你轻松解决矩阵相乘!!

矩阵乘法的定义

设A为m * n的矩阵,B为n * p的矩阵,那么称m * p的矩阵C为矩阵A与B的乘积,记作C=AB ,其中矩阵C中的第i行第j列元素可以表示为:
在这里插入图片描述
在这里插入图片描述

矩阵相乘的代码

这个算法很简单,直接利用矩阵相乘的定义及运算法则即可:
话不多说了,直接上代码:

vector<vector<double> > multiply(vector<vector<double> > matrix1,vector<vector<double> > matrix2)
{   if(matrix1[0].size()!=matrix2.size()){cout<<" 这两个矩阵不能相乘";exit(1);}int n = matrix1.size(),m=matrix2[0].size();int l =matrix2.size();vector<vector<double> > matrix3(n);for(int i=0;i<n;i++)for(int j=0;j<m;j++){   double t =0;//执行一次相乘for(int k=0;k<l;k++){t+=matrix1[i][k]*matrix2[k][j];}matrix3[i].push_back(t);}return matrix3;
}

完整的程序

给出完整的程序去供直接使用

#include<bits/stdc++.h>
using namespace std;
vector<vector<double> > multiply(vector<vector<double> > matrix1,vector<vector<double> > matrix2)
{   if(matrix1[0].size()!=matrix2.size()){cout<<" 这两个矩阵不能相乘";exit(1);}int n = matrix1.size(),m=matrix2[0].size();int l =matrix2.size();vector<vector<double> > matrix3(n);for(int i=0;i<n;i++)for(int j=0;j<m;j++){   double t =0;for(int k=0;k<l;k++){t+=matrix1[i][k]*matrix2[k][j];}matrix3[i].push_back(t);}return matrix3;
}
void output(vector<vector<double> > det)
{int m=det.size(),n=det[0].size();for(int i=0;i<m;i++){for(int j=0;j<n;j++)cout<<det[i][j]<<"  ";cout<<endl;}
}
int main()
{   int n1,m1;cout<<"Enter matrix1(n1*m1) n1,m1:";cin>>n1;cin>>m1;vector<vector<double> > matrix1(n1);//初始化det1为n1行 for(int i=0;i<n1;i++)for(int j=0;j<m1;j++){double t;cin>>t;matrix1[i].push_back(t); }int n2,m2;cout<<"Enter matrix2(n2*m2) n2,m2:";cin>>n2;cin>>m2;vector<vector<double> >matrix2(n2);//初始化det1为n1行 for(int i=0;i<n2;i++)for(int j=0;j<m2;j++){double t;cin>>t;matrix2[i].push_back(t); }output(multiply(matrix1,matrix2));} 

实现线代其它操作的参考链接

  • 线性代数行列式求值/矩阵相乘/求矩阵的逆,一个c++程序全部解决
  • 线性代数求行列式的值(用C++程序轻松解决)
  • 让c++程序助你轻松求矩阵的逆

http://www.ppmy.cn/news/973287.html

相关文章

chatgpt赋能python:Python计算乘数-一文了解Python计算乘数的基础知识和应用

Python 计算乘数 - 一文了解Python计算乘数的基础知识和应用 介绍 Python是一种容易学习且强大的编程语言&#xff0c;它已经成为数据科学和机器学习领域中最受欢迎的语言之一。Python的优点之一是它的语法简单易懂&#xff0c;使得它成为编写计算乘数的理想语言。 在本文中…

2.5.3 乘法

这段话告诉我们&#xff0c;在程序中有一条乘法运算语句。这个程序会让计算机帮助我们完成一个简单的数学问题&#xff1a;计算6乘以2。和我们平常做数学题一样&#xff0c;程序使用*号表示乘法运算。语句 “feet 6 * fathoms;” 可以这样理解&#xff1a;它会找到之前我们定义…

乘法程序

任务目标&#xff1a; 完成简单的乘法功能。 实现步骤&#xff1a; 1&#xff0c;编写activity_main.xml 2&#xff0c;编写MainActivity 运行结果&#xff1a;

如何用计算机算乘法,计算机如何做乘法运算的?

通过加减法和移位来实现的。 把除法转成乘法&#xff0c;乘法转成加法&#xff0c;减法也转成加法。 具体的操作步骤&#xff1a; 假设计算3*3&#xff0c;原码是0011 * 0011(以4位存贮单元&#xff0c;因为是原码&#xff0c;最高位不代表符号位) 3个寄存器分别存放乘数0011 被…

chatgpt赋能python:Python中如何计算乘方?

Python中如何计算乘方&#xff1f; 在Python中&#xff0c;乘方是一种常见的数学计算。如果你正在寻找一种快速、简便的方法来计算数的乘方&#xff0c;那么Python是你的最佳选择。在此文章中&#xff0c;我们将介绍Python中计算乘方的几种方法&#xff0c;并帮助您选择最适合…

利用对位相乘法计算线性卷积-附Matlab代码

目录 1.线性卷积原理 2.利用对位相乘法计算线性卷积 3.Matlab实操 3.1源代码 3.2仿真结果 线性卷积原理 公示&#xff08;1&#xff09;为两个离散非周期序列进行线性卷积 一般我们计算线性卷积时使用图解法最为常见&#xff0c;简单概括为“变量置换”、“翻转”、“平移…

chatgpt赋能python:Python中如何使用乘法

Python 中如何使用乘法 Python 是一种强大的编程语言&#xff0c;提供了许多有用的功能和工具&#xff0c;其中乘法是其中一个基本的操作符。在本文中&#xff0c;我们将介绍 Python 中乘法的用法&#xff0c;以及在不同情况下如何使用它。 什么是乘法&#xff1f; 乘法是一…

NTT计算实例by ChatGPT

假设我们要计算多项式 f(x) x^3 2x^2 x 3 在模数为 5 的情况下的NTT&#xff0c;模数为 p 5。首先&#xff0c;我们需要将多项式系数表示为模 p 的剩余系。 f(x) x^3 2x^2 x 3 ≡ x^3 2x^2 x - 2 (mod 5) 接下来&#xff0c;我们需要选择 NTT 中使用的根。对于模数…