向向量的元素添加常量值

时间:2013-11-03 20:06:50

标签: matlab

我希望在达到最大值后向值向量添加360的常量值。也就是说,如果是H=[12 26 67 92 167 178 112 98 76 85],我该如何编写一个matlab代码,以便在178之后将180添加到所有值?答案应该是H=[12 26 67 92 167 178 292 278 256 265]

2 个答案:

答案 0 :(得分:1)

请尝试以下操作:

n=find(H==max(H));
H(n+1:end)=H(n+1:end)+180;

由于期望的向量值按递增顺序排列,因此这里的想法是找到最大值的索引,并将所有后续元素递增180.

修改

找出最大索引的更好方法,如 @LeonidBeschastny

所示
[~,n]=max(H);

答案 1 :(得分:1)

这应该适用于早期的Matlab版本:

H=[12 26 67 92 167 178 112 98 76 85]
[n, n] = max(H);
H(n+1:end) = H(n+1:end) + 180