HEEELP : Index in position 2 is invalid. Array indices must be positive integers or logical values. !!!! why???

1 Ansicht (letzte 30 Tage)
Hello, this is my code as you can see;
while i wrote the FOR part, matlab gives me this error. PLEASE HELP ME
opticaxis=[];
center=(length(y))/2;
for i=1:length(lambda)
opticaxis(i,:)=E_z(:,center,i)'/(max(E_z(:,center,i)));
end
mesh(x/(1e-6),lambda/(1e-6),opticaxis)
view(2)
colormap jet
ax = gca;
ax.YDir = 'normal'
title('GRIN with Plane Wave')
xlabel('x(um)')
ylabel('\lambda(um)')

Antworten (2)

Steven Lord
Steven Lord am 17 Jan. 2020
center=(length(y))/2;
for i=1:length(lambda)
opticaxis(i,:)=E_z(:,center,i)'/(max(E_z(:,center,i)));
end
If y is a vector with an odd number of elements (as an example let's say y has 3 elements) you're asking for an element of E_z that doesn't exist (in the 3 element example, you're asking for elements in the 1.5th column of E_z.)
If y is not a vector, you probably shouldn't be using length. Use size and ask for the size of y in a specified dimension.

AdamG2013468
AdamG2013468 am 17 Jan. 2020
Your for loop index is:
for i = 0:length(lambda)
Within your for loop you are attempting to create a new variable "opticaxis". You cannot define the opticaxis(0,:) point during the first index of your for loop. Try replacing your starting index value with a 1 insted of 0 (example below). This may not solve your problem just yet, but should get you closer. Also, what is the value of length(lambda)?
for i = 1:length(lambda)
  1 Kommentar
ezgi ünlü
ezgi ünlü am 17 Jan. 2020
Bearbeitet: ezgi ünlü am 17 Jan. 2020
hello, thanks for your answer, i already write for i = 1:length(lambda) but yes, it is not solve my problem as you said. lambda is variant number, not constant about between 2.5 and 5. lambda is defined in the file.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by