Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB:从所有矩阵元素中删除分号_Matlab - Fatal编程技术网

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

MATLAB:从所有矩阵元素中删除分号,matlab,Matlab,我正在读一个.txt文件,当它读入matlab时,我得到了正确的向量和所有东西,除了它们在每个数字的末尾有一个分号。现在,我不确定是在读取文件时更正此错误更好,还是在读取文件后用一些代码快速更正它更好。不幸的是,我不知道如何修复它。我正在做这样的事情 for i = 1:100000 try disp(strcat('ToF_ROI_XYZcoordinates_', num2str(i), '.txt')); ToF_File_ID = fopen(st

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

如果能帮我把这些分号从新变量中去掉,那就太好了,谢谢

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

textscan(ToF_File_ID,'%s %s %s')
如果您想解析它以去除半列,可以将其更改为:

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

你能做矩阵A=A'的转置吗。。。我想你误解了我的矩阵。分号不是输入,而是输出。所以它们是矩阵中的一个字符串。我需要把那根绳子完全去掉。转置只会将它放在其他地方,每个矩阵元素仍然会将它放在里面。
ToF\u ROI\u XYZcoordinates\uu
的示例内容是什么,
ToF\u ROI\u XYZcoordinates\u
Navi\u Endo\u RefOffsetPosVec\u
.txt文件?为什么不在格式字符串中指定分号,然后读取如下整数值:
'%d;%d、 %d、 "?您可以使用
regexprep
strep
替换
';'
'
我不确定
strep
是否已经存在很长时间了,如果您的版本不支持它,请尝试将其替换为
regexprep
,您也可以使用
textscan
分隔符
选项,这样就不需要
strep
textscan(豆腐文件ID,'%s%s%s','delimiter',{'',';'})