2013-08-19 2 views
0

Я читаю .txt-файл, и когда он читает в matlab, я получаю свои собственные векторы и все, кроме того, что они имеют точку с запятой в конце каждого числа. Теперь я не уверен, что лучше исправить эту ошибку, когда я прочитаю файл, или если я могу просто скорректировать его с помощью некоторого кода после того, как я прочитал в своих файлах. К сожалению, я не знаю, как это исправить. Я делаю что-то вроде этого.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 

EDIT: Моя матрица выглядит что-то вроде этого, если вы путать

[ 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 ] 

помощь в устранении тех из моих запятой новых переменных было бы здорово, спасибо!

+0

Можете ли вы сделать транспонирование матрицы A = A '? – Zero

+0

Умм ... Я думаю, вы неправильно истолковали мою матрицу. Полуколоны не являются входными данными, они являются выходным. Таким образом, они являются строкой внутри матрицы. Мне нужно полностью удалить эту строку. Транспонирование будет просто помещено в другое место, и каждый элемент матрицы все равно будет иметь его внутри. – spaderdabomb

+0

Что такое пример содержимого файлов ToF_ROI_XYZcoordinates_', 'ToF_ROI_XYZcoordinates_' и' Navi_Endo_RefOffsetPosVec_' .txt? – Marcin

ответ

1

Есть еще некоторые вещи неясный, но предположит, что вы создаете матрицу с этим фрагментом кода:

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

Если вы хотите, чтобы разобрать это, чтобы избавиться от полуколонн, вы можете изменить его в этом:

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

Я не уверен, что 'strrep' уже существует в течение длительного времени, если ваша версия не поддерживает его, попробуйте заменить его' regexprep' –

+1

Вы также можете использовать только «textscan» с опцией 'delimiter', устраняя необходимость в' strrep': 'textscan (ToF_File_ID, '% s% s% s', 'delimiter', {'', ';'}) ' –