How to use find function to create a sceond array?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I'm trying to use find function to create a new array(Y) where the values are natural logarithms of an array (X) if these values are greater than 1. If there are any values remaining in (Y), I need to add 8 to each of the corresponding elements in A.
So far I got this but I'm pretty sure I've got something missing as I dont think I get the right result:
bold
X=[1.92 0.05 -2.43 -0.02 0.85];
Y=zeros(size(X));
log=find(log(X)>=1);
Y(1:length(log))=X(log);*
Any advice would be helpful, thank you.
7 comentarios
Azzi Abdelmalek
el 6 de Nov. de 2012
Editada: Azzi Abdelmalek
el 6 de Nov. de 2012
it's not clear, how did you get 0.2833
Respuesta aceptada
Azzi Abdelmalek
el 6 de Nov. de 2012
Editada: Azzi Abdelmalek
el 6 de Nov. de 2012
Don't use log as a variable, because it's a logarithme function
note that log of a negative number is complex
log(-6)
3 comentarios
Azzi Abdelmalek
el 6 de Nov. de 2012
then use
X=[1.92 0.05 -2.43 -0.02 0.85];
Y=8*ones(size(X));
lo =find(X>=1);
Y(1:length(lo))=log(X(lo ));
Más respuestas (0)
Ver también
Categorías
Más información sobre Performance and Memory 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!