【问题标题】:Matlab index with specific values using loop使用循环具有特定值的 Matlab 索引
【发布时间】:2014-11-17 22:48:37
【问题描述】:

我知道如何用给定的条目数编写程序,但如果条目数是 n:,我就不知道了。基本上我认为我需要一个循环,但我无法让它正常工作。


这是一个在有 3 个条目时可以正常工作的代码。 % 是我输入的内容。我想创建一个具有特定位置和值的向量,这是向量的示例:

X = [1;0;0;0;0;0;0;0;0;0;0;0;0;0;99;0;0;0;0;99] 

及其代码:

n1 = input('Determine value for case:'); %n1 = 1

n2 = input('Determine value for case:'); %n2 = 15

n3 = input('Determine value for case:'); %n3 = 20

X = zeros(20,1);

X(n1) = input('Determine position '); %1

X(n2) = input('Determine position '); %99

X(n3) = input('Determine position '); %99

但是对于 n 个条目,我需要一个我想的循环。 (向量可能仍然是 20x1)

    for n = 1:entries (%entries are 3, so 3 loops)
    n = n+1

    n = input('Determine value for case :');

    X =zeros(20,1);
    X(n) = input('Determine position:')

    end

但我不能让它工作

提前致谢

【问题讨论】:

  • 不需要n=n+1,当你说for n=1:entries时,for循环已经这样做了。为什么要在 for 循环中重新初始化 X?

标签: matlab loops vector indexing


【解决方案1】:

不确定您要达到的具体目标,但我认为您可以按如下方式修复循环:

  entries = 3;
  X =zeros(20,1);

  for ni = 1:entries 

    n = input('Determine value for case :');
    X(n) = input('Determine position:');

  end

【讨论】:

  • 这按预期工作,但倒退,所以稍作修改,没关系。谢谢!基本上我想要一个大小的向量,并且能够根据 n 个值将特定值放在该向量内的特定位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-04
  • 1970-01-01
  • 2016-06-01
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 2013-12-21
相关资源
最近更新 更多