假设我有一个有两列的矩阵。每列都有数千个值。第1列的元素是正常数字。第二列的元素是0或1.为简单起见,请举例:
U = [ 25 36 12 52 32 12 14 ; 0 1 1 0 0 0 1]'
我想创建一个新的列矩阵P,使得如果U的第2列的元素是0,则P的元素与第1列中的对应元素相同。但是,如果U的第2列的元素是1,则P的元素为零。
所以,上面例子的结果是:
P = [25 0 0 52 32 12 0]'
答案 0 :(得分:4)
那就是:
> P= U(:, 1).* ~U(:, 2)
P =
25
0
0
52
32
12
0
答案 1 :(得分:2)
你没有告诉c#
这个答案是哪种编程语言void process()
{
int column_length = 10;
int columns = 3;
int[,] k = new int[column_length, columns];
/*fill array
.
.
.*/
//process it
for (int i = 0; i < k.GetLength(0); i++)
{
if (k[i, 1] == 1)//if this row column 0 =1
{
k[i, 2] = 0;
}
else if (k[i, 1] == 0)//if this row column 0 =0
{
k[i, 2] = k[i, 0];
}
}
}
答案 2 :(得分:0)
使用numpy
,除了吃的答案,你可以使用
numpy.where(U[:,1], 0, U[:,0])