|
|
【答案】應(yīng)助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ice_huya: 金幣+30, ★★★★★最佳答案, 不好意思啊 最近比較忙 回復(fù)晚了 我自己也找到原來程序的問題在哪了!已經(jīng)修改好了,咱們的結(jié)果是相同的 您的理解沒錯 非常感謝:) 2016-10-21 19:09:17
不好意思,不知道怎么換行clear;clc;close all;
a = [1 1 1 2 2 2 2 3 3 3 3 3 4 4 5 6 4 4 3 3 3 3 3 3 2 2 2 2 2 1 1 1]; % 根據(jù)樓主的手圖的數(shù)據(jù)
H=[1;2;3;4;5;6];
N=[6;9;11;4;1;1];
jj = 0;% 前索引
N_ss = 32; %N中各元素出現(xiàn)總次數(shù),也是ss的行數(shù),新矩陣ss : 32*1
kk = N_ss; % 后索引
ss = zeros(N_ss, 1);
for ii = 1:length(H)
if mod(N(ii,1),2) == 0 %n為偶
len = 0.5*N(ii,1);
ss(jj+1:jj+len, 1) = H(ii, 1); %前面0.5*n次
ss(kk-len+1:kk,1) = H(ii,1); %后面0.5*n次
jj = jj + 0.5*N(ii,1);
kk = kk - 0.5*N(ii,1);
else %n為奇
if N(ii,1)==1
ss(jj+1,1) = H(ii,1); %前面int(0.5*n)次(去零取整)
jj = jj + 1;
% kk = kk - 1;
else
len = fix(0.5*N(ii,1));
ss(jj+1:jj+len,1) = H(ii,1); %前面int(0.5*n)次(去零取整)
ss(kk-(N(ii)-len)+1:kk,1) = H(ii,1); %后面n-int(0.5*n)次(后面通常應(yīng)比n為偶數(shù)時多1次)
jj = jj + len;
kk = kk - (N(ii) - len);
end
end
end
figure(1);
subplot(2,1,1);
plot(ss, '*-');
ylim([0 6]);
grid on;
subplot(2,1,2);
plot(a, '*-');
ylim([0 6]);
grid on; |
|