Mathematica,用Table生成一个列表,如何将列表中的两列元素进行相减。

最好可以再生成一个列表。
2025-03-06 02:09:14
推荐回答(2个)
回答1:

data = Table[x y, {x, 1, 10}, {y, 1, 10}] // MatrixForm
i = 5;
j = 3;
subtract = ReplacePart[data, {1, a_, i} -> f[a]];
f[a_] := data[[1, a, i]] - data[[1, a, j]];
subtract
Clear[f];
计算结果是Table内第i列元素减去第j列元素,相减的结果替换原来Table内第i列元素

更简单的:
data = Table[x y, {x, 1, 10}, {y, 1, 10}];
i = 2;
j = 8;
subtract =
Transpose[
ReplacePart[
Transpose[data], {i} ->
Transpose[data][[i]] - Transpose[data][[j]]]] // MatrixForm

回答2:

Transpose[table][[i]]-Transpose[table][[j]]