You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用双层for循环正确统计MATLAB动态数组中指定数值n的出现次数

实现方案

核心逻辑

你需要在矩阵a、b生成完成后插入双层for循环逻辑,步骤如下:

  • 分别初始化矩阵a、b的计数变量,初始值为0
  • 外层循环遍历所有行,内层循环遍历所有列,逐个匹配元素是否等于目标值n
  • 循环结束后输出统计结果即可

完整可运行代码

T= 1;
while (T==1)
    r = input('Enter number of rows ') ;
    c= input(' Enter number of columns ');
    n = input('Enter range of random 0-9 ');
    disp(n);

    a = uint16(rand(r,c)*n+1);    
    fprintf(' n = %5d  \n', n);    
    disp('Cool Matrix A');
    disp(a);

    b = uint16(rand(r,c)*n);      
    disp('Cooler Matrix B ' );
    disp(b);
    
    % 以下是新增的计数逻辑
    count_a = 0;
    count_b = 0;
    % 外层遍历行
    for i = 1:r
        % 内层遍历列
        for j = 1:c
            if a(i,j) == n
                count_a = count_a + 1;
            end
            if b(i,j) == n
                count_b = count_b + 1;
            end
        end
    end
    % 输出统计结果
    fprintf('矩阵A中数值%d的出现次数为:%d\n', n, count_a);
    fprintf('矩阵B中数值%d的出现次数为:%d\n', n, count_b);

    T= input('Enter 1 to continue \n');
end

逻辑说明

  • 代码适配动态大小的数组,不管输入的行r和列c是多少,都会遍历全部元素
  • 即使没有匹配到对应数值,计数器初始值为0,也能正确输出结果0
  • 如果你只需要统计其中一个矩阵,删掉对应矩阵的计数判断和输出语句即可

内容的提问来源于stack exchange,提问作者Pablo Lares

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:15:03