关键词不能为空

当前您在: 主页 > 高中公式大全 >

椭圆的弦长公式推导矩阵运算——矩阵加法+乘法+转置+求逆

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-10-03 20:12
tags:矩阵转置公式

浙江一本线-有关幸福的作文

2020年10月3日发(作者:相重扬)
矩阵运算——矩阵加法+乘法+转置+求逆
double[,] matrix;
publicint row = 0, col = 0;
定义三个不同情况下的构造函数
public Matrix() { }
public Matrix(int row)
{
matrix = new double[row, row];
}
public Matrix(int row, int col)
{
= row;
= col;
matrix = new double[row, col];
}
复制构造函数
public Matrix(Matrix m)
{
int row =
int col =
matrix = new double[row, col];
for (inti = 0; i< row; i++)
{
for (int j = 0; j < col; j++)
{
matrix[i, j] = (i, j);
}
}
}
输入相应的值,对矩阵进行设置
public void SetNum(inti, int j, double num)
{
matrix[i, j] = num;
}
得到相应的矩阵某个数
public double getNum(inti, int j)
{
return matrix[i, j];
}
输出矩阵
public void OutputM()
{
ine(矩阵为:
for (int p = 0; p < row; p++)
{
for (int q = 0; q < col; q++)
{
(
}
(
}
}

public void InputM(int Row, int Col)
{
for (int a = 0; a < Row; a++)col——Michael
{
for (int b = 0; b < Col; b++)
{
ine(第{0}行,第{1}列
double value = le(ne());
(a, b, value);
}
}
}

得到matrix
public double[,] Detail
{
get
{
return matrix;
}
set { matrix = value; }
}
矩阵转置实现
public Matrix Transpose()
{
Matrix another = new Matrix(row, col);
for (inti = 0; i< row; i++)
{
for (int j = 0; j < col; j++)
{
(j, i, matrix[i, j]);
}
}
return another;
}

矩阵相乘




public double[,] matrixMulti(double[,] X, double[,] Y)
{
double[,] A = X; double[,] B = Y;
double[,] C = new double[gth(0), gth(1)];
for (inti = 0; ifor (int j = 0; j {
C[i, j] = 0;
for (int k = 0; k {
C[i, j] += A[i, k] * B[k, j];
}
}
return C;
}
矩阵相乘
public static Matrix Multiply(Matrix lm, Matrix rm)
{
Matrix another = new Matrix(, );
if ( == )
{
for (inti = 0; i<; i++)
{
for (int j = 0; j <; j++)
{
double temp=0;
for (int k = 0; k <; k++)
{
temp += (i, k) * (k, j);
}
(i, j, temp);

}
}
}
else
{
ine(左矩阵的列数不等于右矩阵的行数,不能参与计算
}
return another;
}
矩阵相加实现
public static Matrix Add(Matrix lm, Matrix rm)
{
行出错
if ( != )
{
ion e = new Exception(相加的两个矩阵的行数不等
throw e;
}
列出错
if ( != )
{
ion e = new Exception(相加的两个矩阵的列数不等
throw e;
}
Matrix another = new Matrix(, );
for (inti = 0; i<; i++)
{
for (int j = 0; j <; j++)
{
double temp = (i, j) + (i, j);
(i, j, temp);
}
}
return another;
}
矩阵求逆实现
public static Matrix Inverse(Matrix M)
{
int m =
int n =
if (m != n)
{
Exception myException = new Exception(求逆的矩阵不是方阵
throwmyException;
}
Matrix ret = new Matrix(m, n);
double[,] a0 =
double[,] a = (double[,])();
double[,] b =
inti, j, row, k; double max, temp;
单位矩阵
for (i = 0; i< n; i++)
{
b[i, i] = 1;
}
for (k = 0; k < n; k++)
{
max = 0; row = k;
找最大元,其所在行为row
for (i = k; i< n; i++)
{
temp = (a[i, k]);
if (max < temp)
{
max = temp; row = i;
}
}
if (max == 0)
{
Exception myException = new Exception(该矩阵无逆矩阵
throwmyException;
}
交换k与row行
if (row != k)
{
for (j = 0; j < n; j++)
{
temp = a[row, j];
a[row, j] = a[k, j];
a[k, j] = temp;
temp = b[row, j];
b[row, j] = b[k, j];
b[k, j] = temp;
}
}
首元化为1
for (j = k + 1; j < n; j++)
a[k, j] = a[k, k];
for (j = 0; j < n; j++)
b[k, j] = a[k, k];
a[k, k] = 1;
k列化为0
对a
for (j = k + 1; j < n; j++)
{
for (i = 0; i< k; i++)
a[i, j] -= a[i, k] * a[k, j];
for (i = k + 1; i< n; i++)
a[i, j] -= a[i, k] * a[k, j];
}
对b
for (j = 0; j < n; j++)
{
for (i = 0; i< k; i++)
b[i, j] -= a[i, k] * b[k, j];
for (i = k + 1; i< n; i++)
b[i, j] -= a[i, k] * b[k, j];
}
for (i = 0; i< n; i++)
a[i, k] = 0;
a[k, k] = 1;
}
return ret;
}

主函数
public static void Main()
{
int Row, Col, choice;
ine(请输入想要的矩阵行数与列数
Row = 32(ne());
Col = 32(ne());
Matrix m = new Matrix(Row, Col);
ine(输入矩阵数据
(Row, Col); M();
do
{
ine(请选择你想要进行的运算:n(1)转置;n(2)输入另一矩阵并相加;n
(3 )求逆;n(4)输入另一矩阵并相乘;n(0)停止;
choice = 32(ne());
switch (choice)
{
case 1:
Matrix n = ose();
M();
break;
case 2:
ine(请输入第二个矩阵行数与列数
Row = 32(ne());
Col = 32(ne());
Matrix m2 = new Matrix(Row, Col);
ine(输入矩阵数据
(Row, Col);
ine(第二个矩阵为:
M();
Matrix result = Add(m, m2);
M();
break;
case 3:
Matrix m3 = Inverse(m);
M();
break;
case 4:
ine(请输入第二个矩阵行数与列数
Row = 32(ne());
Col = 32(ne());
Matrix m4 = new Matrix(Row, Col);
ine(输入矩阵数据
(Row, Col);
ine(第二个矩阵为:
M();
Matrix result2 = Multiply(m, m4);
M();
break;
case 0:
break;
}
}
while (choice != 0);
(请按任意键继续
ne();
}

安徽理工大学专业-晚餐吃什么健康又营养


身份证丢失如何挂失-长句


金属材料包括-中国的银行排名


安庆有哪些大学-眼睛闪光是因为什么原因导致的


矩形的性质-有向线段和向量的区别


全国卷一-儿童注意力集中训练


中国十大名牌-招工作


离骚必修二-篇幅



本文更新与2020-10-03 20:12,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/409642.html

矩阵运算——矩阵加法+乘法+转置+求逆的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文