Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
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

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 25 Août 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

Plus de réponses (1)

Jan
Jan le 27 Oct 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.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by