MATLAB:从所有矩阵元素中删除分号

时间:2013-08-19 05:51:58

标签: matlab

我正在读一个.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 ]

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

1 个答案:

答案 0 :(得分:1)

还有一些事情尚不清楚,但假设您使用这段代码生成矩阵:

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

如果你想解析它以摆脱半字节,你可以把它改成这个:

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