The end operator must be used within an array index expression
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
need to solve please this error:
The end operator must be used within an array index
expression.
Error in clases y comandos (line 166)
y(1:end,1) - y(2:end);
this is the code:
a=arduino
fs=1500
N=1000
d=zeros(N,1)
t=linspace(0,(N-1)/fs,N)
t=transpose(t)
z=zeros(N,1)
entrada=line(nan,nan,'color','g','linewidth',0.5)
salida=line(nan,nan,'color','r','linewidth',0.5)
ylim([-0.1,5.1])
xlim([0 (N-1)/fs])
grid
stop=1
uicontrol('Style','pushButton','String','FINALIZAR','Callback','Stop = 0;')
tic
while stop
if toc < 1/fs
tic
y(1:end-1) = y(2:end-1);
y=readVoltage(a,'A0')
set(entrada,'Xdata',t,'Ydata',y)
z(1:end) = z(2:end)
z=readVoltage(a,'A1')
set(salida,'Xdata',t,'Ydata',z)
drawnow
end
%
end
3 Kommentare
Jan
am 10 Okt. 2022
Please post the relevant part of the code and a copy of the complete error message. This is not the complete line:
y(1:end,1) - y(2:end);
Jan
am 11 Okt. 2022
Bearbeitet: Jan
am 11 Okt. 2022
Please do not let the readers guess, which one is the line 166. The mentioned line "y(1:end,1) - y(2:end);" does not occur in the shown code. the cyclist hits the point, that "y(1:end,1) = y(2:end)" is meant.
I've formatted your code. You can use the tools above the field for editing by your own in the future.
Antworten (1)
the cyclist
am 10 Okt. 2022
Bearbeitet: the cyclist
am 10 Okt. 2022
In your code, you have not yet created any variable named y, before you call this line:
y(1:end-1) = y(2:end-1)
Therefore, you get this error message because you cannot index a variable that does not exist.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!