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日

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况