• (标签-ar|关键词-运算符)


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 深山164 2024-07-26 14:58 采纳率: 92.3% 浏览 3 首页/ 编程语言 / 已结题 (标签-ar|关键词-运算符) matlab算法开发语言 clc clear load a.mat load b.mat k = 0; i = 1:402; j = 1:240; x1 = 0.8*qi_ye(i,j); x2 = 1.2*qi_ye(i,j); for n = 1:240 if gongyinshang(i,j)<=x2&&gongyinshang(i,j)>=x1 k = k+1; disp(k) end end 逻辑 "与" (&&)和 "或" (||)运算符的操作数必须可转换为标量逻辑值。如何求取每一行满足if语句的个数 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 专家-司宇[在线] 2024-07-26 14:59
      关注

      引自免费微信小程序:皆我百晓生

      在MATLAB中,当你使用逻辑运算符 &&|| 时,它们的操作数必须是逻辑数组(逻辑值的数组),并且数组中的每个元素都参与逻辑运算。在你的代码中,你试图使用二维数组 qi_ye(i,j)gongyinshang(i,j) 直接与标量值进行比较,这是不允许的。你需要对每一行分别进行比较并计数。

      为了解决这个问题,你可以使用循环来遍历二维数组的每一行,并对每一行使用逻辑运算符进行比较。这样你可以知道每一行中有多少元素满足你的条件。下面是修改后的代码示例:

      clc
      clear
      
      load a.mat
      load b.mat
      
      k = zeros(size(i)); % 初始化一个与i大小相同的零矩阵来存储计数结果
      
      for n = 1:length(i) % 循环遍历每一行
          row_count = 0; % 初始化当前行的计数为0
          for m = 1:length(j) % 循环遍历每一行的每个元素
              if gongyinshang(n, m) <= x2 && gongyinshang(n, m) >= x1 % 使用逻辑运算符比较当前元素的值
                  row_count = row_count + 1; % 如果满足条件,增加当前行的计数
              end
          end
          k(n) = row_count; % 将当前行的计数结果存储到k的相应位置
      end
      disp(k); % 显示每一行的计数结果
      

      在这个修改后的代码中,我们使用了两个嵌套的循环来遍历二维数组 gongyinshang 的每一行和每个元素。我们使用变量 row_count 来跟踪每一行满足条件的元素数量,然后将结果存储在 k 的相应位置。最后,我们显示每一行的计数结果。

      本回答被题主选为最佳回答 , 对您是否有帮助呢?
      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    Selenium+python怎么搭建自动化测试框架、执行自动化测试用例、生成自动化测试报告、发送测试报告邮件
    前端构建工具 代码优化压缩 模块管理 依赖管理 资源处理转换 自动化任务 流程优化 高级特性 Webpack Parcel Rollup Gulp 静态资源
    【精讲】vue框架 核心vuex内容及项目练习
    给el-form-item,添加key的场景
    自动化物流运输设备模组要选择哪种类型?
    Oracle-数据库对象的使用
    如何读写txt文件 C++读和写txt文件操作
    Vuex插件的安装与使用原理
    Matlab之并行程序设计实战教程
    rpc网络
  • 原文地址:https://ask.csdn.net/questions/8133095