从 for 循环 matlab 内部生成的变量分配向量值
Posted
技术标签:
【中文标题】从 for 循环 matlab 内部生成的变量分配向量值【英文标题】:Assigning vector values from a variable generated inside for loop matlab 【发布时间】:2015-05-05 07:08:25 【问题描述】:在 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
,而不是创建和数组。其次,没有添加任何值,最后 P 为空。
我不确定为什么它不起作用?有人知道如何解决这个问题吗?
【问题讨论】:
尝试先分配P byP=zeros(4,1);
【参考方案1】:
您已经有一个变量P
,它是一个字符。下标赋值不会改变变量的类型。使用clear P
删除它,你就会得到你想要的。或者,您可以按照 Photon 的建议用零覆盖 P。
这也可以不用循环解决:
P=2.*[1:4]
或:
P=2:2:8
【讨论】:
以上是关于从 for 循环 matlab 内部生成的变量分配向量值的主要内容,如果未能解决你的问题,请参考以下文章