【问题标题】:Insert vector into vector, Matlab将向量插入向量,Matlab
【发布时间】:2016-02-16 06:13:08
【问题描述】:

此代码用于从向量ch 中剪切随机值并创建新向量a。然后,在从ch 中删除选定的值后,将a 插入ch

我应该改变什么,得到这样的结果:

例如如果a = [8; 4; 9],那么结果:

ch = 5 8 4 9 6 7

Matlab 代码:

ch = [4; 5; 6; 7; 8; 9];

for i = 1:3
    g = randi(3);
    a(i) =  ch(g);
    ch(g) = [];
end;

startIdx = 2;
finalIdx = startIdx + size(a,1) - 1; 
ch(startIdx:finalIdx) = a; 

disp (ch);

【问题讨论】:

  • @rayryeng,哪部分不清楚?
  • 您的代码似乎可以运行。我不明白你想要什么,如果我粗鲁,请原谅我,但你问题中的语言有点难以理解。
  • 什么是初始向量?
  • @R.Bergamote,这个:ch = [4; 5个; 6; 7; 8个; 9];
  • @shdotcom 这段代码有什么问题?你得到的输出是什么,你期望的输出是什么?分享这些,让社区了解您想要问什么。

标签: matlab


【解决方案1】:

试试这个:

ch = [4; 5; 6; 7; 8; 9];

for i = 1:3
    g = randi(3);
    a(i) =  ch(g);
    ch(g) = [];
end;

a = a'; % your problem probably come from mixing column / lines

startIdx = 2;
ch = [ch(1:startIdx); a; ch(startIdx+1:end)]; 


disp (ch);

【讨论】:

  • 当我运行代码时,我得到了这个输出:a= 5 6 4 ch = 7 8 5 6 4 8 9 第二个“8”不应该在那里,输出应该是:ch = 7 8 5 6 4 9
  • 我已经组合了这个:ch(startIdx:end)];到:ch(startIdx+1:end)];及其现在的工作。谢谢
猜你喜欢
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 2014-02-24
  • 2012-09-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多