안녕 내가 코드는 지난 경우 완벽하게 작동 data.txt로matlab에 textscan 잘못 사라 : cellfun는
fid = fopen('D:\data.txt','r');
A=textscan(fid,'%s %*s %f %s %f %s %*s %*s %*s %*s %*s %*s %*s %*s %*s,'Delimiter',',');
fclose(fid);
Loc = [A{[2, 4]}];
row_idxs = cellfun(@(s) strcmp(s, '$GPGGA'), A{1});
Loc = Loc(row_idxs, :);
display(Loc);
에서 'GPGGA'를 포함하는 라인에서 일부 값을 읽기 위해 다음 코드를 사용하고 특정 라인에서 데이터를 선택 data.txt의 행이 h 제됩니다. 최종 줄이 텍스트 파일에 포함되어있을 때 왜이 오류가 발생하는지 확실하지 않습니다. 그 이유는 무엇입니까? 나는 혼란스러워!
"??? 오류 ==> horzcat CAT 인수 사이즈가 일치하지 않는 오류가 사용 ==> 시험 = 4 은 Loc에서 [A {[2,4]}]."
data.txt로
$GPGSV,4,1,16,05,15,046,23,29,47,071,21,16,31,291,18,31,39,202,18*73
$GPGSV,4,1,16,05,15,046,23,29,47,071,21,16,31,291,18,31,39,202,18*73
$GPGSV,4,1,16,05,15,046,23,29,47,071,21,16,31,291,18,31,39,202,18*73
$GPGSV,4,1,16,05,15,046,23,29,47,071,21,16,31,291,18,31,39,202,18*73
$GPGSV,4,2,16,23,13,298,17,25,15,119,17,06,22,247,16,03,04,251,14*75
$GPGSV,4,2,16,23,13,298,17,25,15,119,17,06,22,247,16,03,04,251,14*75
$GPGSV,4,2,16,23,13,298,17,25,15,119,17,06,22,247,16,03,04,251,14*75
$GPGSV,4,2,16,23,13,298,17,25,15,119,17,06,22,247,16,03,04,251,14*75
$GPGGA,1.8,98.90,S,18.0014,E,1,04,1.0,87.8,M,48.0,M,,*76
$GPGGA,1.3,98.91,S,18.0015,E,1,04,1.0,100.7,M,48.0,M,,*40
$GPGGA,1.3,98.92,S,18.0016,E,1,04,1.0,105.4,M,48.0,M,,*4F
$GPGGA,1.8,98.93,S,18.0017,E,1,04,1.0,87.8,M,48.0,M,,*76
$GPGGA,1.8,98.94,S,18.0018,E,1,04,1.0,87.8,M,48.0,M,,*76
$GPGSV,4,4,16,27,,,,26,,,,24,,,,22,,,*79
내 대답에 도움이 되었습니까? 그렇다면 답을 표시하십시오. 그렇지 않으면, 내가 명확하지 않은 것을 알려주고 답을 향상 시키려합니다. 감사. –
그것은 참으로! 고마워요! laaaaaaaaaate 답장 죄송합니다! – user1658248