了解用于创建无线传感器网络的MATLAB代码

时间:2014-06-27 18:34:34

标签: matlab

我有以下MATLAB代码,用于帮助创建无线传感器网络:

for i=1:n
    S(i).xb=rand*0.5*xm;
    S(i).yb=rand*0.5*ym;
    S(i).E=Eo;
    S(i).G=0;
    S(i).type='N';
    S(i).id=i;
    S(i).D=dist(BS.x,BS.y,S(i).xb,S(i).yb);
    S(i).Etx=Eelec*k+Eamp*k*S(i).D^2;
    plot(S(i).xb,S(i).yb,'o');    
end
plot(BS.x,BS.y,'rx');

在这个程序中,为什么代码中有点?例如,S(i).xb=rand*0.5*xm;。任何人都可以向我解释这个吗?

1 个答案:

答案 0 :(得分:1)

在此代码中,S将是一个结构数组。每个结构都包含以下成员变量:

  • xb
  • yb
  • E
  • G
  • type
  • id
  • D
  • Etx

执行S(i).xb = rand*0.5*xm;将首先在位置S的数组i内创建一个包含单个成员xb的结构。这将被赋予rand*0.5*xm的值。其余的语句将继续将更多变量附加到数组中位置i的相同结构中。

之后,如果您希望访问阵列i的{​​{1}}位置的成员变量,您仍然会SS(i).xb等。

基本上,您可以将S(i).yb视为具有元素数组,其中每个元素在元素中包含8个字段。您可以使用S访问字段。