The end operator must be used within an array index expression

23 visualizzazioni (ultimi 30 giorni)
How to fix this error:
The end operator must be used within an array index expression.
Error in .... (line 17)
shot = shot(101:end,1);
  7 Commenti
Nisar Ahmed
Nisar Ahmed il 15 Set 2020
[vp,modhdr] = (ReadRSS('Vp.rss'));
vp = squeeze(vp(1,1,:));
% pad vp with more samples in order to make at least 5 seconds of VRMS
vp = [vp; ones(1500,1)*vp(end)];
[nz] = size(vp,1);
dx = modhdr.geometry.D(1);
dz = modhdr.geometry.D(3);
%% Read data and get sizes
[Shot, dathdr] = ReadRSS('Pshot.rss');
shot = shot(101:end,1);
[nt, ntr] = size(Shot);
dt = dathdr.geometry.D(1);
time_i = (0:nt-1)*dt;
time_i = time_i.';
KSSV
KSSV il 15 Set 2020
What is size of Vp.rss? Is it taking matrix inside the function?

Accedi per commentare.

Risposta accettata

Steven Lord
Steven Lord il 15 Set 2020
The identifiers shot (all lower-case) and Shot (first letter capitalized) are two different things in MATLAB. Did you mean to index into Shot instead of shot?
  3 Commenti
MUNEEB AHMAD
MUNEEB AHMAD il 18 Mag 2022
Modificato: MUNEEB AHMAD il 18 Mag 2022
The end operator must be used within an array index expression.
Error in test2 (line 5)
BER(i)=ber(end,1);
This is the code.
gama_dB=0:0.5:10;
for i=1:length(gama_dB)
g_dB=gama_dB(i);
sim('Bpsk2')
BER(i)=ber(end,1);
end
Why is this error coming here? plese help.
Steven Lord
Steven Lord il 18 Mag 2022
Nothing in your code defines a variable named ber. Do you have a function named ber accessible to MATLAB? If so that last command inside the for statement tries to call that function with end and 1 as the two inputs. But MATLAB doesn't know how to interpret end in that context and so throws an error.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by