我有一个矢量(或数组)
A = [2 3 4]
我想用标量值4替换每行的所有元素。我有代码:
for ii = 1: size(A, 1)
A(ii,:) = 4
end
返回A = [4 4 4]
。如何获得1x1
矩阵:A = [4]
而不是1x3
矩阵?
非常感谢提前。
答案 0 :(得分:1)
你可以用标量变量替换NxM向量/矩阵/数组,只需为其指定一个标量。
示例:
>>> A = [1,2,3]
A =
[1 2 3]
>>> A = 4
A =
4
如果我没记错的话,MATLAB中的标量是1x1矩阵
答案 1 :(得分:0)
谢谢你们的评论。虽然它说我应该指定一个标量,但它并没有说我怎么能有效地做到这一点。这是有效的:
A = [2 3 4; 1 3 2];
for ii = 1: size(A, 1)
B(ii,:) = A(ii,3)
end
答案 2 :(得分:-1)
for i = 1:10
eval(['x_' num2str(i) ' = i^2']);
end
此解决方案有两个问题:
来源
https://www.mathworks.com/matlabcentral/answers/29712-creating-a-new-variable-in-each-iteration