从 for 循环 matlab 内部生成的变量分配向量值

Assigning vector values from a variable generated inside for loop matlab

在 Matlab 中,我试图将 for 循环中生成的变量的值分配给数组。

for i=1:4
S = 2*i;
P(i) = S;
end

S 是在 for 循环中生成的,它的所有值都是:2, 4, 6 and 8.

现在我想将 S 的每个值分配给一个数组 P 这样我就想要

P(1) = 2, P(2) = 4, P(3) = 6, P(4) = 8

但是我包含的 for 循环不起作用,我不知道为什么。首先它创建一个 char 而不是创建和数组。其次,添加 none 个值,最后 P 为空。

我不确定为什么它不起作用?有人知道如何解决这个问题吗?

您已经有一个变量 P,它是一个字符。下标赋值不会改变变量的类型。使用 clear P 删除它,你会得到你想要的。或者,您可以按照 Photon 的建议用零覆盖 P。

这个不用循环也可以解决:

P=2.*[1:4]

或:

P=2:2:8