Формулировка по этому вопросу все еще немного неуклюжа, и я не совсем уверен, как получить пример HREP с учетом формулировки, но, скорее всего, strrep
излишне из-за того, что, похоже, вы пытаетесь сделать.Хорошо бы использовать простой цикл с присваиваниями:
HREP = HBIN_NEW;
for k=1:8:length(HBIN_NEW)
HREP(k+5:k+7) = PBIN_NEW(k:k+2);
end
Часто, хотя может быть лучше просто перечислить назначения позиций и избежать цикла.Таким образом, вместо этого у вас есть что-то вроде этого:
HREP = HBIN_NEW;
HREP(6:8:end) = PBIN_NEW(1:8:end);
HREP(7:8:end) = PBIN_NEW(2:8:end);
HREP(8:8:end) = PBIN_NEW(3:8:end);
Я думаю, что это делает то, что вы хотите, или вам нужно достаточно близко ...
Наконец, немного незапрошенных советов по стилю.Хотя в Matlab нет очень строгого руководства по стилю кода, скорее всего использование всех заглавных букв с подчеркиванием не лучший способ присвоения имен вашим переменным.Лично я предпочитаю строчные буквы с подчеркиванием, например, pbin_new
и использую только заглавные слова для констант ...