VB源程序如下:
成都创新互联专注于威信企业网站建设,响应式网站设计,商城网站开发。威信网站建设公司,为威信等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
Option Base 1
Private Sub Command1_Click()
Dim A(5, 5) As Integer, B(5, 5) As Integer
For x = 1 To 5
For y = 1 To 5
A(x, y) = Int(10 + Rnd * 90) '随机产生两位数的整数
Print A(x, y); '输出
Next
Next
For x = 1 To 5
For y = 1 To 5
B(x, y) = A(y, x) '转置
Print B(x, y); '输出
Next
Next
End Sub
程序输出结果如下:
扩展资料:
VB:编写程序,实现如下规律的5*5矩阵存入数组,并输出该数组
Private Sub Command1_Click()
Dim a(1 To 6, 1 To 6) As Integer
For i = 1 To 5
For j = 1 To 5
tmp = 99
If i tmp Then
tmp = i
End If
If j tmp Then
tmp = j
End If
If 6 - i tmp Then
tmp = 6 - i
End If
If 6 - j tmp Then
tmp = 6 - j
End If
a(i, j) = tmp
Next j
Next i
For i = 1 To 5
For j = 1 To 5
Picture1.Print Tab(j * 5); a(i, j);
Next j
Picture1.Print
Next i
End Sub
程序输出结果如下:
Option Explicit
Option Base 1
Dim a(4, 4) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Picture1.Cls
Randomize
For i = 1 To 4
For j = 1 To 4
a(i, j) = Int(Rnd * 9) + 1
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer
Dim b(4, 4) As Integer
Picture2.Cls
For i = 1 To 4
For j = 1 To 4
b(i, j) = a(j, i)
Picture2.Print b(i, j);
Next j
Picture2.Print
Next i
End Sub
Private Sub Command3_Click()
Dim i As Integer, j As Integer, temp As Integer
Picture2.Cls
For i = 1 To 4
For j = i To 4
temp = a(i, j)
a(i, j) = a(j, i)
a(j, i) = temp
Next j
Next i
For i = 1 To 4
For j = 1 To 4
Picture2.Print a(i, j);
Next j
Picture2.Print
Next i
End Sub
矩阵转置用符号“`”来表示和实现。
例如: A=[1 2 3;4 5 6 ;7 8 9 ];
???B=A`↙
B=1 4 7
2 5 8
3 6 9
如故Z是复数矩阵,则Z`为它们的复数共轭转置矩阵,非共轭转置矩阵使用Z.`或conj(Z`)。
size(a)
[d1,d2,d3,..]=size(a) 求矩阵的大小,对m*n二维矩阵,第一个为行数m,第二个为列数n;
对多维矩阵,第N个为矩阵第N维的长度。
cat(k,a,b) 矩阵合并,运行a = magic(3)
b = pascal(3)
c = cat(4,a,b)
改4为3或2或1,自己体会合并后的效果。
k=1,合并后形如 [a;b],行添加矩阵(要求a,b的列数相等才能合并);
k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并),以此类推,n维的矩阵合并,要求n-1维维数相等才可以)。
fliplr(a) 矩阵左右翻转
flipud(a) 矩阵上下翻转
rot90(a)
rot90(a,k) 矩阵逆时针旋转90度(把你的头顺时针旋转90看原数就可以知道结果了,^-^)
k参数定义为逆时针旋转90*k度。
flipdim(a,k) 矩阵对应维数数值翻转,如k=1时,行(上下)翻转,k=2时,列(左右)翻转。
tril(a)
tril(a,k) 矩阵的下三角部分(包括对角线元素),对应k=0时的取值数。
k参数设置为正负数值对应对角线向上或向下移动k行划分下三角元素。
triu(a)
tril(a,k) 矩阵的上三角部分(包括对角线元素),对应k=0时的取值数。
k参数设置为正负数值对应对角线向上或向下移动k行划分上三角元素。
diag(a)
diag(a,k) 生成对角矩阵或取出对角元素,对应k=0时的取值数。
k参数设置为正负数值对应对角线向上或向下移动k行取对角元素或生成对角矩阵。
repmat(a,m,n) 矩阵复制,把矩阵a作为一个单位计算,复制成m*n的矩阵,其每一元素都含一个矩阵a,实际结果为一个size(a,1)*m行,size(a,2)*n列的矩阵。
w=meshgrid(s,t)
[u,v]=meshgrid(s,t) 生成行m=size(t,1)*size(t,2),列n=size(s,1)*size(s,2))阶的两个矩阵。其中u为按行顺序取s的n个矩阵元数,按列排列重复m行,v为按列顺序取t的m个矩阵元数 ,按行排列重复n列。只生成一个矩阵时,w=u。
eye(a)
eye(a,k) 生成a阶单位方阵
k参数设置为生成a×k阶单位矩阵,即生成a阶单位方阵后,取前k列,不足补0。
ones(a)
ones(a,k) 生成a阶全1方阵
k参数设置生成a×k阶全1矩阵。
zeros(a)
zeros(a,k) 生成a阶全0方阵
k参数设置生成a×k阶全0矩阵。
inv(a) 生成a的逆矩阵
在程序设计语言里,用二维数组来保存矩阵的值。
一维列矩阵,就是由:若干行、一列组成的二维数组。
一维行矩阵,就是由:一行、若干列组成的二维数组。
比如一维列矩阵,的输入:
dim a(10,1) as integer '10行,1列
dim i as integer
for i = 1 to 10
a(i,1) = inputbox("")
next i