从 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
在 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