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

Matlab 中如何拼接字符串与数字实现类似 Excel 的字符连接效果

Matlab实现固定字符串与数字变量拼接的方案

你需要的类Excel&拼接功能,在Matlab中有多种兼容不同版本的实现方式,以下是最常用的3种:

  • 方法1:字符串直接拼接(兼容R2016b及以后版本)
    双引号包裹的字符串支持直接与数字变量做加法运算,自动完成类型转换,是最简单的写法:

    i = 2;
    result = "state" + i; % 输出结果为字符串类型的 "state2"
    % 如果需要转为单引号的字符数组,可加char转换:
    result_char = char(result);
    
  • 方法2:strcat拼接函数(全版本兼容)
    用num2str先将数字转为字符格式,再通过字符串拼接函数strcat组合:

    i = 5;
    result = strcat('state', num2str(i)); % 输出结果为字符数组类型的 'state5'
    
  • 方法3:sprintf格式化输出(全版本兼容,支持复杂格式扩展)
    用格式化占位符%d匹配整数变量,适合需要自定义数字格式的场景(比如补前导零):

    i = 3;
    % 普通拼接
    result = sprintf('state%d', i); % 输出 'state3'
    % 扩展:数字固定2位,不足补前导零
    result_pad = sprintf('state%02d', i); % 输出 'state03'
    

如果需要批量生成多组结果,可以搭配循环使用,示例如下:

% 生成state1到state5的字符数组
state_list = strings(1,5);
for i = 1:5
    state_list(i) = sprintf('state%d', i);
end
disp(state_list)

运行后会输出["state1" "state2" "state3" "state4" "state5"]。

注意:不要直接用单引号包裹的字符数组与数字相加,单引号字符数组本质是ASCII码数值数组,直接相加会得到数值计算结果而非字符串拼接。

内容的提问来源于stack exchange,提问作者Sul At

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 12:57:03