Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Don't understand indexing statement from compiler

1 visualización (últimos 30 días)
DJ V
DJ V el 2 de Dic. de 2016
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
MY code is:
function mbd = spherical_mirror_aberr(fn,D )
%SPHERICAL_MIRROR_ABERR Summary of this function goes here
% Detailed explanation goes here
delta_x = 0.01;
Num_x=D/2/delta_x;
f = fn * D;
delta_theta = asin(delta_x/(2*f));
D_theta = asin(D/2/(2*f));
theta(0: delta_theta:D_theta);
Mult = 8*delta_x/D^2;
mbd =Mult*sum( 2*f*tan(2*(0:delta_theta:Dtheta))(1/cos(0:delta_theta:D_theta) -1));
end
The compiler is giving me a warning: "indexing must appear last in an index expression" What does this mean that I need to do. It affects the "mbd" variable equation.
  4 comentarios
DJ V
DJ V el 2 de Dic. de 2016
Editada: DJ V el 2 de Dic. de 2016
I simplified the code considerably just to begin to find the error:
Now it produces:
Error in spherical_mirror_aberr (line 10)
mbd =Mult*sum( (0:delatax:D/2));
Adam
Adam el 2 de Dic. de 2016
Errors come with an error message, not just a line number usually.

Respuestas (2)

Adam
Adam el 2 de Dic. de 2016
Editada: Adam el 2 de Dic. de 2016
sum( ... )( ... )
is not valid syntax in Matlab.
You can't chain together parenthesis is what that error is essentially sayiing. I don't really know what you are trying to do in the expression. Maybe you are just missing a * from between the ) and the (
  4 comentarios
Guillaume
Guillaume el 2 de Dic. de 2016
Well, you're missing the * between 2*f*tan(2*theta) and (1/cos(theta)-1)
Image Analyst
Image Analyst el 2 de Dic. de 2016
Since your theta is actually an array of theta's, you'll need dot slash instead of slash: 1./cos(). You'll also need a dot * instead of * almost everywhere, for example tan() .* (1./cos)

DJ V
DJ V el 2 de Dic. de 2016
BUt in the code as written now there is no multiplication or division,and it still won't work.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by