将第i行中的矩阵元素乘以第一行中的第i个元素

Aja*_*jax 2 arrays matlab matrix

我有以下矩阵:

s=[1,2,3; 4,5,6;7,8,9];  

1| 2| 3  
4| 5| 6  
7| 8| 9  
Run Code Online (Sandbox Code Playgroud)

现在我希望第一行和第i列中的每个整数乘以相应的i行号.

期望的输出:

1 | 2  | 3  
8 | 10 | 12  
21| 24 | 27  
Run Code Online (Sandbox Code Playgroud)

aks*_*adv 5

注意,如果A是对角矩阵,那么A*x将x的行按A中对角线指定的权重进行缩放.因此,对于您的问题,您可以简单地使用:

s = [1,2,3; 4,5,6;7,8,9];
%  1     2     3
%  4     5     6
%  7     8     9

s = diag([1:size(s,1)]) * s;
%  1     2     3
%  8    10    12
% 21    24    27
Run Code Online (Sandbox Code Playgroud)