qq_46151004 2023-12-12 10:50 采纳率: 1.8%
浏览 15
已结题

为什么matlab 打开结构体后显示为空

为什么matlab 打开结构体后显示为空,什么也看不到,里面明明有文本。
见下图result结构体,里面其实有文本5079个字段,为什么不显示呢?

img

  • 写回答

10条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2023-12-12 10:52
    关注

    由人工智能和答主提供,可以参考如下,如果回答的不正确,及时评论区回复,我追加回答,谢谢。


    这可能是由于MATLAB在显示结构体时,只显示了部分字段或者默认情况下没有显示某些字段。你可以尝试以下方法来查看结构体中的所有字段:

    1. 使用keys函数获取结构体中的所有字段名,然后逐个打印出来。例如:
    result = struct('field1', 'value1', 'field2', 'value2'); % 假设这是你的结构体
    fieldNames = keys(result); % 获取所有字段名
    for i = 1:length(fieldNames)
        disp([fieldNames{i}, ': ', result.(fieldNames{i})]); % 打印每个字段名和对应的值
    end
    
    1. 如果你想要查看结构体中的特定字段,可以使用result.fieldName的形式。例如,如果你想查看field1的值,可以这样做:
    disp(['field1: ', result.field1]);
    
    1. 如果以上方法仍然无法解决问题,你可以尝试将结构体转换为cell数组,然后逐个打印元素。例如:
    resultCell = cell(1, 5079); % 假设结构体有5079个字段
    for i = 1:5079
        resultCell{i} = result.(sprintf('field%d', i)); % 将每个字段的值存储到cell数组中
    end
    disp(resultCell); % 打印cell数组
    

    希望这些建议能帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月13日
  • 创建了问题 12月12日

悬赏问题

  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 python的EOFError该怎么解决?
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 java linux下将docx文件转pdf
  • ¥15 maven无法下载依赖包
  • ¥15 关于pycharm, Callable[[str],bool]作为方法参数使用时, lambda 类型不提示问题
  • ¥15 layui数据重载无效
  • ¥15 寻找了解qq家园纵横四海的程序猿。
  • ¥15 optisystem
  • ¥15 VB.NET画图时的撤销编程