MATLAB中生成1.X(X从1到65)序列并转为字符串的问题
解决方法:生成1.X格式的字符串序列(X从1到65)
你之前的错误在于混淆了数值序列和字符串格式的需求:
- 数值上
1.10和1.1是同一个值,无法通过数值序列区分 1.1:0.1:1.65的逻辑是按0.1步长生成数值,到1.6后下一个值1.7超过1.65就停止,自然得不到X≥10的结果
正确思路是先生成1到65的整数序列,再拼接成"1.X"格式的字符串,以下是MATLAB中的实现方式:
方法1:使用string拼接
% 生成1到65的整数序列 x = 1:65; % 拼接成目标字符串序列 str_seq = string("1.") + string(x);
方法2:使用sprintfc格式化
x = 1:65; str_seq = sprintfc("1.%d", x);
验证结果:
- 前10个元素:
str_seq(1:10)→["1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10"] - 最后5个元素:
str_seq(61:65)→["1.61", "1.62", "1.63", "1.64", "1.65"]
内容的提问来源于stack exchange,提问作者CircAnalyzer
相关产品推荐
相关产品推荐

