How to apply condition for using one variable as input for another in same workspace in matlab?

1 visualización (últimos 30 días)
I have two variable files which are a polyline file (network.mat) and a point file(sedsource.mat). The elements of the FID_Networ field of the sedsource file are subset of the FID_1 field in the network file. I am trying to use the elements of the sedsource file such that the common elements between the FID_1 of network and the FID_Networ field of sedsoucre file are assigned as 1 and the rest are assigned as 0. I tried to use the following code but wasn't successful. I would be grateful if anyone could help me with this.
Thank You
LinkNum = length(network)
input(1:LinkNum,:)=0;
b = [network.FID_1]';
a = [sedsource.FID_Networ]';
for i = 1:LinkNum
if a(i)==b(i)
input(1:LinkNum,:)=1;
else
input(1:LinkNum,:)=0;
end
end
  2 comentarios
Image Analyst
Image Analyst el 25 de Dic. de 2020
input is a built-in function name. Don't use it as the name of your variable.
Niraj Bal Tamang
Niraj Bal Tamang el 25 de Dic. de 2020
Thank You @Image Analyst. Actually, i am using a pre-existing code and just wanted to get the series of values in 1:LinkNum from the sedsource file. The input was already in the code and is repeated in other related matlab files too. Is there a way such that i can assign the elements of the 'a' in the place of 1:LinkNum at the input(1:LinkNum,:)=1; line?That is the main thing i want to do in this code.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 25 de Dic. de 2020
b = [network.FID_1];
a = [sedsource.FID_Networ];
network_is_in_sed = ismember(b, a);
input(1:LinkNum, :) = 0;
input(network_is_in_sed, :) = 1;

Más respuestas (0)

Categorías

Más información sobre Interactive Control and Callbacks 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!

Translated by