how can i solve this ?
1 回表示 (過去 30 日間)
古いコメントを表示
i am trying to compute predicted data in order to compare it with original one, the out put of the function that i use is 51*71*3
but when i compute the predicted data i got this error Index in position 2 exceeds array bounds (must not exceed 1)
this is the code, any suggestion please?
Swmean=, shmean= Phimean=51*1
[Vp, Vs, Rho]=applico_RPM_II([Swmean(:), shmean(:) Phimean(:)]);
Vp=reshape(Vp,size(Phimean));
Vs=reshape(Vs,size(Phimean));
Rho=reshape(Rho,size(Phimean));
for i =1:71
dpr(:,i,:)= calcola_dati_pre_stack(Vp(:,i), Vs(:,i), Rho(:,i), wavelet, ang);
end
0 件のコメント
回答 (2 件)
Jan
2021 年 12 月 1 日
編集済み: Jan
2021 年 12 月 1 日
"Phimean=51*1" means, that this variable has the sie [51, 1]. After
Vp=reshape(Vp,size(Phimean));
Cp has the same size also.
If i==2 in trhe 2nd iteration of the for loop, the expression:
dpr(:,i,:)= calcola_dati_pre_stack(Vp(:,i), Vs(:,i), Rho(:,i), wavelet, ang);
% ^^^^^^^
tries to access Vp(:, 2), but the 2nd dimension of Vp is 1, because it has the size [51, 1]. This is the meaning of the error message.
I cannot predict, what you want to do instead.
You can identify such problems by using the debugger:
dbstop if error
Then start the function again. When it stops at the error, check the sizes of the variables.
参考
カテゴリ
Help Center および File Exchange で Denoising and Compression についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!