24小时热门版块排行榜    

查看: 460  |  回复: 2

ice_huya

金虫 (小有名气)

[求助] 一个看起来很容易的程序,却困扰我好久,求助大家(关于生成矩阵) 已有1人参与

一个看起来很容易编的程序,却困扰我好久,希望大家帮忙挑错,先谢了!

问题描述如下:

有两个矩阵H, N:

H=[1;2;3;4;5;6];          %表示矩阵中各元素的值
N=[6;9;11;4;1;1];    %表示各元素出现的次数, 总次数为6+9+11+4+1+1=32

想生成如图中的新矩阵ss, 即:

当元素对应的出现总次数n为偶数时,前后各出现0.5*n次;
当元素对应的出现总次数n为奇数时,前:int(0.5*n) 后:n-int(0.5*n)
比如,H=1时, N=6, 则ss(1:3)=1, ss(30:32)=1;
            H=2时, N=9, 则ss(4:8)=2, ss(25:29)=2;
            .....

我的程序编写如下:

H=[1;2;3;4;5;6];         
N=[6;9;11;4;1;1];

w=1;
a=0;
N_ss=32;  %N中各元素出现总次数,也是ss的行数,新矩阵ss : 32*1

while w<=length(H)

         if mod(N(w,1),2)==0    %n为偶
            ss(a+1:a+0.5*N(w,1),1)=H(w,1);                    %前面0.5*n次
            ss(N_ss-a-0.5*N(w,1)+1:N_ss-a,1)=H(w,1);  %后面0.5*n次
         
         else                                   %n为奇
            
            ss(a+1:a+fix(0.5*N(w,1)),1)=H(w,1);               %前面int(0.5*n)次(去零取整)
            ss(N_ss-a-fix(0.5*N(w,1)):N_ss-a,1)=H(w,1);  %后面n-int(0.5*n)次(后面通常应比n为偶数时多1次)

         end
      

  a=a+fix(0.5*N(w,1));
  w=w+1;

end

ss
figure(1);
plot(ss(:,1));


可是如按上面程序运算,生成的新矩阵ss总是前后完全对称,无论n为奇或偶,到底是哪里出了问题呢。。。

期待大家的指教!!不胜感激!!!!
         










一个看起来很容易的程序,却困扰我好久,求助大家(关于生成矩阵)
台阶式矩阵图.JPG
回复此楼

» 猜你喜欢

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zxhitler

新虫 (初入文坛)

【答案】应助回帖

不是很明白楼主的意思,我根据我的理解,修改了一下你的程序,你可以看看是不是你需要的那个图
2楼2016-10-08 13:53:54
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zxhitler

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
ice_huya: 金币+30, ★★★★★最佳答案, 不好意思啊 最近比较忙 回复晚了 我自己也找到原来程序的问题在哪了!已经修改好了,咱们的结果是相同的 您的理解没错 非常感谢:) 2016-10-21 19:09:17
引用回帖:
2楼: Originally posted by zxhitler at 2016-10-08 13:53:54
不是很明白楼主的意思,我根据我的理解,修改了一下你的程序,你可以看看是不是你需要的那个图

不好意思,不知道怎么换行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]; % 根据楼主的手图的数据

H=[1;2;3;4;5;6];         
N=[6;9;11;4;1;1];

jj = 0;% 前索引
N_ss = 32;  %N中各元素出现总次数,也是ss的行数,新矩阵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)次(后面通常应比n为偶数时多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;
3楼2016-10-08 13:56:48
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ice_huya 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿南京大学,080500材料科学与工程,调剂 +4 Jy? 2026-03-16 4/200 2026-03-17 11:02 by gaoqiong
[考研] 268求调剂 +6 一定有学上- 2026-03-14 7/350 2026-03-17 10:14 by Sammy2
[考研] 267一志愿南京工业大学0817化工求调剂 +6 SUICHILD 2026-03-12 6/300 2026-03-17 09:24 by 雾散后相遇lc
[考研] 机械专硕325,寻找调剂院校 +3 y9999 2026-03-15 5/250 2026-03-16 19:58 by y9999
[考研] 327求调剂 +6 拾光任染 2026-03-15 11/550 2026-03-15 22:47 by 拾光任染
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 中科大材料专硕319求调剂 +3 孟鑫材料 2026-03-13 3/150 2026-03-14 18:10 by houyaoxu
[考研] 【0703化学调剂】-一志愿华中师范大学-六级475 +5 Becho359 2026-03-11 5/250 2026-03-14 11:35 by 哦哦123
[考研] 2026考研调剂+本科延边大学+山东大学+生物化学与分子生物学+有项目经验 +3 ccdsscjy 2026-03-10 3/150 2026-03-14 00:12 by JourneyLucky
[考研] 332求调剂 +3 zjy101327 2026-03-11 6/300 2026-03-13 22:48 by JourneyLucky
[考研] 工科,求调剂 +3 我887 2026-03-11 3/150 2026-03-13 21:39 by JourneyLucky
[考研] 求调剂 +7 18880831720 2026-03-11 7/350 2026-03-13 16:10 by JourneyLucky
[考研] 307求调剂 +5 超级伊昂大王 2026-03-12 5/250 2026-03-13 15:56 by 棒棒球手
[考研] 土木第一志愿276求调剂,科研和技能十分丰富,求新兴方向的导师收留 +3 土木小天才 2026-03-12 3/150 2026-03-13 15:01 by JourneyLucky
[考研] 0856化工原理 +6 z2839474511 2026-03-10 6/300 2026-03-13 10:41 by houyaoxu
[考研] 296求调剂 +3 大口吃饭 身体健 2026-03-13 3/150 2026-03-13 10:31 by 学员8dgXkO
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-03-12 4/200 2026-03-12 19:33 by 求调剂zz
[考研] 290求调剂 +3 柯淮然 2026-03-10 8/400 2026-03-11 13:48 by 柯淮然
[考研] 大连大学化学专业研究生调剂 +3 琪久. 2026-03-10 8/400 2026-03-11 10:02 by 琪久.
[考研] 求调剂材料专硕293 +6 段_(:з」∠)_ 2026-03-10 6/300 2026-03-10 18:22 by ms629
信息提示
请填处理意见