Array formation and parentheses-style indexing with objects of class 'nodeClass' is not allowed. Use objects of class 'nodeClass' only as scalars or use a cell array.

11 views (last 30 days)
I have extended the helperPacketizedModemNode class to nodeClass with 2 properties
classdef nodeClass < helperPacketizedModemNode
properties
Energy = 100
isClusterHead = true
end
methods
function obj = nodeClass(addr)
obj.Address = addr;
obj.DestinationList = 0;
obj.Energy = 100;
obj.isClusterHead = true;
obj.NumPayloadBits = 19530;
obj.PacketArrivalRate= 0.2;
obj.ACKTimeOut = 0.25;
obj.MaxBackoffTime = 10;
obj.MaxDataRetries = 5;
obj.QueueSize = 10;
obj.CarrierDetectorThreshold = 1e-5;
obj.AGCMaxPowerGain = 65;
obj.SamplesPerFrame = 2000;
obj.Verbose = true;
obj.SampleRate = 200e3;
end
end
end
for i = 1:5
node(i) = nodeClass(1);
end

Accepted Answer

Shiva Kalyan Diwakaruni
Shiva Kalyan Diwakaruni on 24 May 2021
Hi,
You can try replacing node(i) with node{i} to store object .
You can refer to below link for more information
Hope it helps

More Answers (1)

Steven Lord
Steven Lord on 24 May 2021
The helperPacketizedModemNode class used in, among other places, this example specifically disallows being stored as a non-scalar array of objects. You can create a scalar helperPacketizedModemNode object or you could create a cell array of helperPacketizedModemNode objects but you cannot create (as you're trying to do) a 5 element array of them.

Categories

Find more on Construct and Work with Object Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!