ACACManagement 2021-11-15 22:25 采纳率: 76.5%
浏览 108
已结题

求一个Matlab程序代码,实现以下循环过程。

已知有两个随机排序向量( A和B)。假设每个向量里面都是十五个元素, 数值为1到15
第一步:构造一个C向量:用A向量减去B向量中所有元素求绝对值。
第二步:找到C向量中最大的元素。如果只有一个最大元素,则将A,B向量中与C向量中相同位置的元素移除, 得到A_1 和 B_1
如果有两个以上最大元素,则比较与C中最大元素位置相同的A向量和B向量对应元素,将A,B向量中含有最大值的那一组元素移除,得到A_1 和 B_1
第三步:将一二步骤进行循环,直到A, B 向量中各自剩下一个元素。
第四步:依次标记被移除元素在C中的位置。构造新的向量。

  • 写回答

1条回答 默认 最新

  • CSDN专家-Matlab_Fans 2021-11-15 23:16
    关注
    
    
    clear
    clc
    
    A = randperm(15);
    B = randperm(15);
    
    
    A_1 = A;
    B_1 = B;
    ii = 1;
    while length(A_1) > 1
        
        %% 做差
        C = abs(A_1-B_1);
        ind = find( C == max(C)) ;
        
        %% 找出下标
        [~,ind2] = max(A_1(ind));
        [~,ind3] = max(B_1(ind));
        if A( ind(ind2) ) >= B( ind(ind3) ) 
            ind = ind(ind2);
        else
            ind = ind(ind3);
        end
        
       
        %% 保存位置
        D(ii) = ind;        % 每次移除数据在A中的下标
        DA(ii) = A_1(ind);  % A中移除数据
        DB(ii) = B_1(ind);  % B中移除数据
        DC(ii) = C(ind);  % B中移除数据
        ii = ii+1;
        
        %% 移除操作
        A_1 = [A_1(1:ind-1) A_1(ind+1:end)];  
        B_1 = [B_1(1:ind-1) B_1(ind+1:end)];  
    end
    
    D
    DA
    DB
    DC
    

    结果:

    被移除元素在C中的位置
    
    D =
    
         7     9     2    11     6     1     6     5     4     6     5     3     2     1
    
    被移除A中元素
    DA =
    
        13    12     4     3     2    10    15     1    11     8     9     7     6     5
    
    被移除B中元素
    DB =
    
         1     2    13    11    10     3     9     7    15     4    12     8     5     6
    
    被移除C中元素
    DC =
    
        12    10     9     8     8     7     6     6     4     4     3     1     1     1
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月24日
  • 已采纳回答 11月16日
  • 创建了问题 11月15日

悬赏问题

  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持