How to efficiently Assign Value to column vector?

36 visualizaciones (últimos 30 días)
balandong
balandong el 23 de Jul. de 2017
Comentada: balandong el 23 de Jul. de 2017
Dear Coder, Any idea how to remove the two for loop to assign multiple value to a column vector? Really appreciate for the help.
The patients.mat is build-in mat file in MATLAB 2017
load patients
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[tf,Ioc_Alert_LessThree] = find (ismember(Smoker, 1));
for i = 1: length (tf)
M (i,1) = Height (tf(i));
end
[tgf,Ioc_Alert_two] = find (ismember(Smoker, 0));
for i = 1: length (Ioc_Alert_two)
M (i,2) = Height (tgf(i));
end
M(M == 0) = NaN;
NonSmoker(Ioc_Alert_two == 1) = 0;
Yes_Smoker(Ioc_Alert_LessThree == 1) = 1;
scatter ( M (1:34,1),Yes_Smoker)
hold on
scatter ( M (:,2),NonSmoker)
  2 comentarios
Image Analyst
Image Analyst el 23 de Jul. de 2017
Editada: Image Analyst el 23 de Jul. de 2017
It would be easier for people to help you if you attached patients.mat. Then they could run your code.
balandong
balandong el 23 de Jul. de 2017
patients.mat is build-in mat file in MATLAB 2017

Iniciar sesión para comentar.

Respuesta aceptada

Geoff Hayes
Geoff Hayes el 23 de Jul. de 2017
balandong - your first for loop is
for i = 1: length (tf)
M (i,1) = Height (tf(i));
end
Try replacing this with
M = zeros(length(tf),1);
M(1:length(tf)) = Height(tf(1:length(tf)))
Something similar can be done for the second for loop too.
  1 comentario
balandong
balandong el 23 de Jul. de 2017
Thanks Geoff, Your suggestion is more compact, indeed.
The full code is as following.
load patients
[tf,Ioc_Alert_LessThree] = find (ismember(Smoker, 1));
[tgf,Ioc_Alert_two] = find (ismember(Smoker, 0));
M = zeros(length(tgf),2);
M(1:length(tf),1) = Height(tf(1:length(tf)));
M(1:length(tgf),2) = Height(tgf(1:length(tgf)));

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical 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