what is mean by this

Answers (4)

ES
ES on 3 Aug 2017

1 vote

S is an array of structures.
xd is one of the members of the structure (type unknown).
In the given line, member xd of the i'th structure is updated with a random number (generated using rand function) multiplied by xm.

2 Comments

please clear my concept with suitable Example.
i can't understand the following code.
for i=1:1:NumberOfNodes
S(i).xd=rand(1,1)*width;
S(i).yd=rand(1,1)*depth;
S(i).E=Eo;
S(i).R=Eo;

Sign in to comment.

Star Strider
Star Strider on 3 Aug 2017

1 vote

It sets the ‘xd’ field of the i-th element of structure ‘S’ to rand times a variable called ‘xm’. The ‘(1,1)’ argument to rand is redundant, since a single call to rand returns a single random scalar value.
For more information, see the documentation on Structures (link).

4 Comments

please clear my concept with suitable Example.
for i=1:1:NumberOfNodes
S(i).xd=rand(1,1)*width;
S(i).yd=rand(1,1)*depth;
S(i).E=Eo;
S(i).R=Eo;
i can't understand the following code
Please see the documentation on structures that I linked to in my Answer.
It explains their use and addressing much better than I can.
Jan
Jan on 3 Aug 2017
@Junaid Qadar: The forum is not the best location to clarify the basics of Matlab. Please read the documentation of the concerned command and the Getting Started chapters for this. See also https://matlabacademy.mathworks.com/ -> Onramp

Sign in to comment.

ES
ES on 4 Aug 2017
Edited: ES on 4 Aug 2017
There are a number of nodes in your problem - denoted by "NumberOfNodes".
xd, yd, E, R are properties of each of these nodes. The properties of the nodes are stored in a array of structures in this case. where S(1) denotes the properties of Node 1 and so on.
The piece of code you have put, sets the properties for all the nodes iteratively.
xd is set to random number * width;
yd is set to random number * depth;
E is set to E0
R is set to R0
Abilasha
Abilasha on 25 Jul 2023

0 votes

kindly explain this code, its in leach protocol matlab code
figure(1);
for i=1:1:n
S(i).xd=rand(1,1)*xm;
S(i).yd=rand(1,1)*ym;
S(i).G=0;
S(i).type='N';
temp_rnd0=i;

1 Comment

xd is set to a random number times xm. In other words the x coordinate is set to a random position in the range 0 to xm (maximum x). Likewise the y coordinate is set to a random location in the range 0 to ym.
(Note: the results can never be exactly 0 or exactly xm or ym because of the details of rand().)
You are generating a random position inside a rectangle.

Sign in to comment.

Categories

Tags

Asked:

on 3 Aug 2017

Commented:

on 25 Jul 2023

Community Treasure Hunt

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

Start Hunting!