Why am I getting invalid expression?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Gina Jarid
el 1 de Oct. de 2020
Editada: John D'Errico
el 1 de Oct. de 2020
clear; clc
h = 34.869 ;
c = 13.679 ;
J2eV = 0.845 ;
counter = 0 ;
for lambda = 800:6:854
counter = counter + 1 ;
Lambda(counter) = lambda ;
E(counter) = ((h * c) / lambda) / J2eV ;
if ((E > 0.673 && (E < 0.678))
disp('Energy in eV')
end
end
E
Lambda
0 comentarios
Respuesta aceptada
drummer
el 1 de Oct. de 2020
Editada: John D'Errico
el 1 de Oct. de 2020
You should declare Lambda and E as you made for counter.
You also had some flaws in the if condition (a missing parenthesis, and declare the indexes to E)
I made a quick review on the code, and I did not check whether it is optimized or not.
It follows below. =)
Cheers
clear; clc
h = 34.869 ;
c = 13.679 ;
J2eV = 0.845 ;
counter = 0 ;
Lambda = zeros; % declare as zeros
E = zeros; % declare as zeros
for lambda = 800:6:854
counter = counter + 1 ;
Lambda(counter) = lambda ;
E(counter) = ((h * c) / lambda) / J2eV ;
if ((E(counter) > 0.673) && (E(counter) < 0.678)) % missing parenthesis and insert indexes to E
disp('Energy in eV')
end
end
E
Lambda
1 comentario
madhan ravi
el 1 de Oct. de 2020
Editada: madhan ravi
el 1 de Oct. de 2020
What? How’s this different from my answer. By the way E and Lambda are not preallocated properly.
zeros would create a scalar not a vector
Más respuestas (1)
madhan ravi
el 1 de Oct. de 2020
Editada: madhan ravi
el 1 de Oct. de 2020
h = 34.869 ;
c = 13.679 ;
J2eV = 0.845 ;
lambda = 800:6:854;
E = ((h * c) ./ lambda) / J2eV ;
compose("Energy in eV: %f", E((E > 0.673) & (E < 0.678)))
1 comentario
madhan ravi
el 1 de Oct. de 2020
h = 34.869 ;
c = 13.679 ;
J2eV = 0.845 ;
counter = 0 ;
[Lambda, E] = deal(zeros(800:6:854));
for lambda = 800:6:854
counter = counter + 1 ;
Lambda(counter) = lambda ;
E(counter) = ((h * c) / lambda) / J2eV ;
if ((E(counter) > 0.673) && (E(counter) < 0.678))
disp('Energy in eV')
end
end
E
Lambda
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!