Borrar filtros
Borrar filtros

I keep getting x as a single value output instead of an array of 14values..

2 visualizaciones (últimos 30 días)
below are my codes: i would like to obtain an array for 14values for my x but i keep getting a single value output for x instead. Can anyone kindly advise on where have i gone wrong here?
a=0.5483 b=0.3941 c=0.9837
wl=200:100:1500 k1=0.5543 k2=0.4212 k3=0.4531
x=((1+((a.*(wl).^2)/(((wl).^2)-((k1)^2)))+((b.*(wl).^2)/(((wl).^2)-((k2)^2)))+(c.*((wl).^2)/(((wl).^2)-((k3)^2))))).^0.5

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 25 de Ag. de 2015
Replace / by ./
x=((1+((a.*(wl).^2)./(((wl).^2)-((k1)^2)))+((b.*(wl).^2)./(((wl).^2)-((k2)^2)))+(c.*((wl).^2)./(((wl).^2)-((k3)^2))))).^0.5

Más respuestas (1)

Jan
Jan el 27 de Oct. de 2015
By the way: An optical simplification of the code can decrease the debug time:
wl_2 = wl .^ 2;
x = sqrt(1 + (a .* wl_2 ./ (wl_2 - k1^2)) + ...
(b .* wl_2 ./ (wl_2 - k2^2)) + ...
(c .* wl_2 ./ (wl_2 - k3^2)))
Just some spaces, removing unneeded parenthesis and a temporary variable.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by