假设我有一个矩阵,如:
100 200 300 400 500 600
1 2 3 4 5 6
10 20 30 40 50 60
...
Run Code Online (Sandbox Code Playgroud)
我希望将每一行划分为第二行(每个元素由相应的元素划分),所以我会得到:
100 100 100 100 100 100
1 1 1 1 1 1
10 10 10 10 10 10
...
Run Code Online (Sandbox Code Playgroud)
我可以这样做(没有编写显式循环)吗?
有没有一种简单的方法可以将每个矩阵元素除以列总和?例如:
input:
1 4
4 10
output:
1/5 4/14
4/5 10/14
Run Code Online (Sandbox Code Playgroud) 我有M行和4列的矩阵(M1).我有另一个1行和4列的数组(M2).我想通过M2中各自的列元素减去M1中的每个元素.换句话说,M1的每列需要由M2中相同列位置的标量子跟踪.我可以调用repmat(M2,M,1)
,这会创建一个大小为MxN的新矩阵,其中列中的每个元素都是相同的,然后按元素减法执行元素:
M2new = repmat(M2,M,1)
final = M1 - M2new
Run Code Online (Sandbox Code Playgroud)
但是,这是两行代码并在内存中创建一个新元素.执行此操作的最快且内存最少的方法是什么?