excel 中矩阵弄成一列

excel 中矩阵弄成一列,第1张

如下图,将A1:C6的数据转变为一列

1.  在E1输入公式=INDEX(A:C,INT(ROW(A3)/3),MOD(ROW(A1)-1,3)+1)&"",回车,下拉公式

2.  公式核心:查看行数与列数的变化规律,利用row函数作出来,这个例子中,行变化是111222333……列变化是123123123……,于是就有了INT(ROW(A3)/3),这个下拉得到的就是行变化的111222333……,MOD(ROW(A1)-1,3)+1)得到的就是列变化的123123123……,至于index函数的用法可以百度,也可以看excel的函数帮助,比较简单,不在解释,最后的&"",作用是去掉最后的0值,没有数据后,就不显示内容了,去掉的话,最后那999完事以后,下边的都是0

3.  另外使用indirect函数也是可以的,=INDIRECT("r"&INT(ROW(A3)/3)&"c"&MOD(ROW(A1)-1,3)+1,)

分三种情况:

1.如果矩阵是两列,要合并为1列,可:

a=randn(4,2)

b=a(:)

2.如果矩阵是多列,且是偶数列,要合并为半偶数列,可:

a=randn(4,8)

b1=[a(:,1)a(:,2)]

for

i=1:1:(8/2-1)

b1=[b1,[a(:,2*i+1)a(:,2*i+2)]]

end

b1

3.如果矩阵是多列,且是奇数列,则不能得到合适的合并。

因为会剩1列不能合并。

不太理解你的具体要求,如果是把两行相加变成一行,而成为一个新的矩阵的话,可以这样:原矩阵a 新矩阵b 把第i行和第i+1行合并成第i行b=[a(1:(i-1),:) a(i,:)+a(i+1,:)+a((i-1):ndims(a),:)]合并列的话:b=[a(:,1:(i-1))a(:,i)+a(:,i+1)+a(:,(i-1):length(a))]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11911376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存