Say for n=5
, the following code gives me a plot for n
randomly generated nodes. These nodes are not structures (just plotted points), but I want to assign every node a message just as I did for sink
and source
and keep track of the nodes identity and location.
For example, if node 4
has (x,y) coordinates (.3452 , .5463)
, I want to assign node 4
a msg
and temp_value
as well. How can I do this?
Code:
n = input('No. of Nodes:');
sink = [0 0];
source = [1 1];
node = rand(n,2)
x = node(:,1);
y = node(:,2);
x1 = sink(:,1);
y1 = sink(:,1);
x2 = source(:,1);
y2 = source(:,1);
plot(x,y,'o')
hold on
plot(x1,y1,'r*')
hold on
plot(x2,y2,'r*')
hold on
sink = struct;
sink.msg = 'temp';
sink.temp_value = '30'
source = struct;
source.msg = 'temp';
source.temp_value = '30'
I would suggest creating an array of structures that stores all of the data associated with each "node". You can create all of the data for your nodes with one call to STRUCT in the following way:
The variable
nodes
is an N-by-1 structure array with fieldsx
,y
,message
, andvalue
. You can access and modify the data using the usual array and field indexing:You can then plot the nodes in the following way: