파일 이름이 enh0.dat, enh1.dat, enh2.dat ... 인 파일에서 최대 128 번 데이터를로드해야합니다. 그래서 파일 이름을 문자열 변수에 저장하고 이름이 문자열 변수에 저장된 파일에서 데이터를로드 한 다음로드 된 데이터를 나중에 플로팅을 위해 지정된 변수에 저장해야합니다. 그러나 MATLAB load
명령은 특정 이름 (데이터가 들어있는 파일 이름)이있는 변수에 데이터를로드하므로 plot 명령 사용을 자동화 할 수 없습니다.MATLAB - 문자열 변수로 저장된 파일 이름을 사용하여 파일의 데이터를 코드화합니다.
데이터를로드해야하는 파일의 이름을 문자열 변수에 저장할 수 있습니까? 나 또한 이것을 체크 아웃 MATLAB newbie: problem reading in file when the file name is stored in a string,하지만 그것은 나를 위해 작동하지 않습니다. textscan
의 결과를 플로팅 할 때이 오류가 발생합니다.
??? ==> plot을 사용한 오류 셀에서 이중으로 변환하는 것은 불가능합니다.
indx = [1:128]; enh_file_cntr = 0; enh_pre = 'enh'; gain_pre = 'gain'; [enh_file_cntr_str, errmsg1] = sprintf('%d', enh_file_cntr); enh_file_name = strcat('enh', enh_file_cntr_str, '.dat'); [gain_file_cntr_str, errmsg1] = sprintf('%d', enh_file_cntr); gain_file_name = strcat('enh', gain_file_cntr_str, '.dat'); fid_enh = fopen(enh_file_name, 'r'); fid_gain = fopen(gain_file_name, 'r'); enh_data = textscan(fid_enh, '%f', 128); gain_data = textscan(fid_gain, '%f', 128); subplot(2,3,1); plot(indx, enh_data, 'b', indx, gain_data, 'r');
이 나는
for
루프에서enh_file_cntr
의 값을 증가됩니다 작동하는 경우 :
이 사용 된 코드입니다. 위의 코드를 수정하려면 어떻게해야합니까?
예 여기에서도 똑같은 작업을하고 있습니다. 그러나 textscan 함수의 결과가 음모에 사용할 수없는 셀 배열입니다. 위의 코드를 원하는대로 보여주기 위해 나는 당신의 제안을 시도 할 것입니다 그래서 올바르게 이해한다면, textscan의 결과는 박스 번호 (0, 0)가 1x128 배열에있는 파일의 128 데이터 포인트를 모두 포함하는 엑셀 스프레드 시트와 같은 것입니까? 어떻게 해석해야합니까? 답장을 보내 주셔서 감사합니다. : – user13267
그런데, 여기에 댓글을 달 때 어떻게 줄 바꿈을 삽입합니까? – user13267
고맙습니다. – user13267