关于vb的转置矩阵问题,用vb编写代码,最后求原矩阵与转置后的矩阵的乘积 30

编个i行j列和j行i列的矩阵相乘的代码即B(i,j)和BT(j,i)的代码... 编个i行j列和j行i列的矩阵相乘的代码即B(i,j)和BT(j,i)的代码 展开
 我来答
笨蛋善松
2012-05-15 · TA获得超过112个赞
知道答主
回答量:56
采纳率:0%
帮助的人:37.1万
展开全部

我刚刚编写的,试过了,可以产生转置

yhu53603fd94fe
2009-04-21 · TA获得超过7838个赞
知道大有可为答主
回答量:7079
采纳率:55%
帮助的人:2849万
展开全部
宜用二维数组
Private Sub Command1_Click()
Dim A()
Dim B()
Dim J
Dim I
Dim T
Dim K
ReDim A(1 To 3, 1 To 8)
For J = LBound(A, 1) To UBound(A, 1)
T = ""
K = 1
For I = LBound(A, 2) To UBound(A, 2)
A(J, I) = Int(I * Rnd) + 1
T = T & " " & A(J, I)
K = K * A(J, I)
Next
List1.AddItem T & " " & K
Next
List1.AddItem " "
List1.AddItem " "
List1.AddItem " "
For J = LBound(A, 2) To UBound(A, 2)
T = ""
K = 1
For I = UBound(A, 1) To LBound(A, 1) Step -1
T = T & " " & A(I, J)
K = K * A(I, J)
Next
List1.AddItem T & " " & K
Next
End Sub
我也刚学VB对于数组刚会使用,问题算解决了,但是希望你能弄懂其中的原理。
这个问题我们可以用一个数组解决
我计算的是每一行的乘积
并在开始时用随机数赋值
你可以稍加修改
我比较习惯动态数组。
这个问题的关键就是数组不用改变,改变的是输出位置。
A(j,i) 在循环中是现计算i的 所以 它的坐标 是 j=y i=x
就是每一个j循环是一行
矩阵转换 就是 将元数组的x和y对换 且置换后y是由小到大输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Winnip888
2009-04-20 · TA获得超过1996个赞
知道小有建树答主
回答量:676
采纳率:0%
帮助的人:564万
展开全部
Dim a(3, 2) As Integer, aa(2, 3) As Integer
Private Sub Form_Load()
Dim i As Integer, j As Integer
Print "转置前;"
For i = 1 To 3
For j = 1 To 2
a(i, j) = Int(Rnd * 51 + 50)
Print a(i, j);
Next j
Print
Next i
Print "转置后:"
For i = 1 To 2
For j = 1 To 3
aa(i, j) = a(j, i)
Print aa(i, j);
Next j
Print
Next i
End Sub

矩阵只有当左边矩阵的列数等于右边矩阵的行数时,它们才可以相乘,乘积矩阵的行数等于左边矩阵的行数,乘积矩阵的列数等于右边矩阵的列数

矩阵的乘法是左行乘右列
这个可以。我以前做的练习。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-11
展开全部
第一个人写的有点问题,转置后对角元素是相同的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式