【问题标题】:Assigning vector values from a variable generated inside for loop matlab从 for 循环 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 by P=zeros(4,1);

标签: arrays matlab for-loop vector char


【解决方案1】:

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

这也可以不用循环解决:

P=2.*[1:4]

或:

P=2:2:8

【讨论】:

    猜你喜欢
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 2019-04-11
    相关资源
    最近更新 更多