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

3 次查看(过去 30 天)
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 个评论
Niraj Bal Tamang
Niraj Bal Tamang 2020-12-25
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.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2020-12-25
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;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by