How to solve this error index in position 1 exceeds array bounds?

1 ビュー (過去 30 日間)
Nisar Ahmed
Nisar Ahmed 2022 年 1 月 26 日
コメント済み: Cris LaPierre 2022 年 1 月 26 日
Hi,
How I can correct this error?
Index in position 1 exceeds array bounds (must not exceed 128).
Error in Create_Obs_dataL (line 60)
synth = synth(1+t0_i:nt+t0_i,:);

回答 (1 件)

Cris LaPierre
Cris LaPierre 2022 年 1 月 26 日
The error is that your indexing of rows (specifically nt+t0_i), is resulting in a number higher that the total number of rows in your matrix. Here's a simple example:
A = rand(2,1)
A = 2×1
0.8538 0.6416
% Works
A(2,1)
ans = 0.6416
% Your error
A(3,1)
Index in position 1 exceeds array bounds. Index must not exceed 2.
  6 件のコメント
Cris LaPierre
Cris LaPierre 2022 年 1 月 26 日
nt = 115;
f0 = 50;
t0 = 2/f0;
dt = 0.001;
t0_i = floor(t0/dt)
t0_i = 40
nt+t0_i
ans = 155
Apparently your matrix has 128 rows, and you are trying to access the 155th, hence the error. Your equation does not appear to scale correctly with nt. You need to figure out what the correct value should be, and adjust your math accordingly.

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

Community Treasure Hunt

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

Start Hunting!

Translated by