0

我正在阅读一个 .txt 文件,当它读入 matlab 时,我得到了正确的向量和所有内容,除了它们在每个数字的末尾都有一个分号。现在,我不确定在读取文件时更正此错误是否更好,或者是否可以在读取文件后使用一些代码快速更正它。不幸的是,我不知道如何解决它。我正在做这样的事情。

for i = 1:100000
    try
        disp(strcat('ToF_ROI_XYZcoordinates_', num2str(i), '.txt'));
        ToF_File_ID = fopen(strcat('ToF_ROI_XYZcoordinates_', num2str(i), '.txt'));
        ToF_XYZ_Coordinates(i,:) = textscan(ToF_File_ID,'%s %s %s');
        fclose(ToF_File_ID);

        disp(strcat('Navi_Endo_RefOrient_', num2str(i), '.txt'))
        Navi_Orient_File_ID = fopen(strcat('Navi_Endo_RefOrient_', num2str(i), '.txt'));
        Navi_Endo_RefOrient(i,:) = textscan(Navi_Orient_File_ID,'%s');
        fclose(Navi_Orient_File_ID);

        disp(strcat('Navi_Endo_RefOffsetPosVec_', num2str(i), '.txt'))
        Navi_Offset_File_ID = fopen(strcat('Navi_Endo_RefOffsetPosVec_', num2str(i), '.txt'));
        Navi_Endo_RefOffsetPosVec(i,:) = textscan(Navi_Offset_File_ID,'%s');
        fclose(Navi_Offset_File_ID);

    catch err
        break
    end
end

编辑:如果您感到困惑,我的矩阵看起来像这样

[ 1; 2; 3; 4; ]
| 5; 6; 7; 8; |
| 9; 1; 2; 3; |
[ 4; 5; 6; 7; ]

我想要这样

[ 1 2 3 4 ]
| 5 6 7 8 |
| 9 1 2 3 |
[ 4 5 6 7 ]

从我的新变量中删除这些分号的任何帮助都会很棒,谢谢!

4

1 回答 1

1

还有一些不清楚的地方,但是假设您使用这段代码生成矩阵:

textscan(ToF_File_ID,'%s %s %s')

如果你想解析这个来去掉半列,你可以把它改成这样:

strrep(textscan(ToF_File_ID,'%s %s %s'), ';', '')
于 2013-08-19T08:19:14.350 回答