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 次查看(过去 30 天)
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

采纳的回答

Shiva Kalyan Diwakaruni
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

更多回答(1 个)

Steven Lord
Steven Lord 2021-5-24
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.

类别

Help CenterFile Exchange 中查找有关 Construct and Work with Object Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by