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

MATLAB中基于M1更新M2数组的编程实现求助

解决MATLAB数组映射替换问题

直接利用MATLAB的数组索引特性就能轻松搞定这个需求,完全不用写复杂的循环,代码简洁又高效:

% 初始化数组
M1 = [1, 2, 1, 2];
M2 = [2, 1, 3, 4];

% 核心映射替换操作
M2 = M1(M2);

原理说明

MATLAB支持用数组作为索引来批量取值:

  • 当执行M1(M2)时,程序会遍历M2中的每一个元素n,自动取出M1第n个位置的数值,再把这些数值按原顺序组合成新数组,最后赋值给M2完成更新。
  • 对应你的需求场景:
    • M2第一个元素是2 → 取M1(2)=2
    • M2第二个元素是1 → 取M1(1)=1
    • M2第三个元素是3 → 取M1(3)=1
    • M2第四个元素是4 → 取M1(4)=2
      最终正好得到期望的结果[2,1,1,2]

运行这段代码后,直接输入M2就能验证结果啦。

内容的提问来源于stack exchange,提问作者Gavanpreet Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:27:43