위치 2의 인덱스가 배열 경계를 초과합니다. 어떻게 해결하나요?

130 ビュー (過去 30 日間)
Joye
Joye 2024 年 6 月 20 日
移動済み: Angelo Yeo 2024 年 6 月 28 日
% Get info of recording dates
RecDates = readtextfile('Rec_dates.txt');
line1 = deblank(RecDates(1,:));
SurgeryDate = line1(9:end)
%SurgeryDate = input('Type the surgery date (e.g. 20220311)','s');
SurgeryDate2 = [SurgeryDate,'-000000-000'];
SurgeryDate3 = datenum(SurgeryDate2,'yyyymmdd-HHMMSS-FFF');
a=size(RecDates);
nRec = a(1)-1;
for n=1:nRec
line = deblank(RecDates(n+1,:));
Rec(n) = line(end);
end
% Get average amplitude and entropy envelopes of the 10+ model songs
Models = ls('ModelSongs4xcorr/*.wav');
clear Ampl Entr
for n=1:length(Models(:,1))
SoundFile = ['ModelSongs4xcorr/',deblank(Models(n,:))];
[Sound, Fs]=audioread(SoundFile);
if length(Sound(1,:))>1
Sound = Sound(:,1);
end
[SAPFeatures] = GetSAPFeatures(Sound,Fs);
Ampl{n} = SAPFeatures.Amplitude;
Entr{n} = SAPFeatures.Entropy;
end
위치 2의 인덱스가 배열 경계를 초과합니다.
오류 발생: SingRate_SongSort2_NHpC (line 22)
for n=1:length(Models(:,1))

採用された回答

Angelo Yeo
Angelo Yeo 2024 年 6 月 22 日
올려주신 스크립트를 보았을 때,
Models = ls('ModelSongs4xcorr/*.wav');
라는 명령어를 통해 "ModelSongs4xcorr" 폴더 안의 wav 파일의 정보를 받아오려고 하는 것으로 보입니다. 그러나,
for n=1:length(Models(:,1))
이라는 스크립트에서 Models에 접근할 때 이 Models가 빈 벡터가 되면 말씀하신 "위치 2의 인덱스가 배열 경계를 초과합니다." 라는 에러가 발생할 수 있습니다. 예를 들면 아래와 같은 상황이 되겠습니다.
Models = [];
Models(:,1)
Index in position 2 exceeds array bounds.
  1 件のコメント
Joye
Joye 2024 年 6 月 28 日
移動済み: Angelo Yeo 2024 年 6 月 28 日
감사합니다!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange빅 데이터 처리 についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!