ztyiyou 2019-07-26 22:44 采纳率: 0%
浏览 226

strread函数读数据,出现索引超出 矩阵维度。

fid = fopen('w.txt', 'r');
fid_n=fopen('ex.dat','w');
while ~feof(fid)
    tline=fgetl(fid);
    if ~isempty(tline)
        if double(tline(1))>=48 && double(tline(1))<=57  %数值开始
            a=strread(tline);
            a(3:4)=[];
            fprintf(fid_n,'%f %f\n',a);
            clear a;
        elseif double(tline(1))==67   %字母C开始
           [b1,b2,b3,b4]=strread(tline,'%s %s %s %s');
           b=[b1{1},' ',b2{1}];
            fprintf(fid_n,'%s\n',b);
            clear b b1 b2 b3 b4;
        else
            fprintf(fid_n,'%s\n',tline);
        end
    else
        fprintf(fid_n,'%s\n',tline);
    end
end
fclose(fid);
fclose(fid_n);![这个是要读取的w.txt的文本](https://img-ask.csdn.net/upload/201907/26/1564151751_529109.png)![问题出在第14行但是不知如何改。](https://img-ask.csdn.net/upload/201907/26/1564151783_353861.png)



  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-10 20:35
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你似乎遇到了一个错误,当你尝试将字符串转换为浮点数时,它可能超过你的最大整数范围。这可能会导致 strread 函数抛出一个异常。

    你可以通过使用 double() 函数来确保你的字符串中包含的是数字。如果你仍然遇到问题,请提供更多的信息或上下文,以便我可以更有效地帮助您解决问题。

    评论

报告相同问题?