歼击基 2023-03-16 09:53 采纳率: 28.6%
浏览 58
已结题

关于MATLAB字符串转数值的问题,如何解决

求MATLAB字符串矩阵中部分转化为数值的方法
5x5字符串组成的矩阵,2行2列到5行5列由字符串转数值类型

模板 小明 小王 小李 小黑 小基
吃饭 1 1 1 0 1
睡觉 1 1 1 1 1
开黑 0 1 1 0 1
学习 1 0 0 1 1
把数字从字符串转化为数值类型,其余保持字符串形式不变

  • 写回答

11条回答 默认 最新

  • 「已注销」 2023-03-16 09:58
    关注

    参考GPT和自己的思路:您可以使用MATLAB的循环语句和判断语句,将每个字符串转化为数值类型。下面是一种实现方式:

    % 原始字符串矩阵
    str = {'小明', '小王', '小李', '小黑', '小基';
           '吃饭', '1', '1', '1', '0';
           '睡觉', '1', '1', '1', '1';
           '开黑', '0', '1', '1', '0';
           '学习', '1', '0', '0', '1'};
       
    % 将22列到55列的字符串转化为数值类型,其余保持不变
    for i = 2:5
        for j = 2:5
            if ~isnan(str2double(str{i,j}))  % 判断是否为数值类型
                str{i,j} = str2double(str{i,j});
            end
        end
    end
    
    
    

    在循环中,首先使用str2double函数将每个字符串转化为数值类型,然后使用isnan函数判断是否为数值类型。如果是数值类型,则将其存入字符串矩阵中,否则保持不变。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 创建了问题 3月16日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错