Borrar filtros
Borrar filtros

trying to create objects in a for loop

2 visualizaciones (últimos 30 días)
jeff wu
jeff wu el 31 de Mzo. de 2012
hi, i get an error but i dont understand why this isnt working
liste = [node(1,2)]%;subdiv(xkoord);
for i=2:4
liste(i+1) = node(1,2)%;subdiv(xkoord);
end
classdef node
properties
x;
y;
bearing=0;
end % properties
methods
function obj = node(x,y)
obj.x=x;
obj.y=y;
end%functions
end%methods
end %class
??? Input argument "x" is undefined.
Error in ==> node>node.node at 9 obj.x=x;
at the second call in the for it crashes
thanks for help

Respuestas (1)

Jim Hokanson
Jim Hokanson el 31 de Mzo. de 2012
Matlab is trying to construct space for the object before you actually construct the object. In other words, Matlab is calling your constructor without any input arguments. If you add the following to your constructor call and you should be fine
if nargin == 0
return
end

Categorías

Más información sobre Construct and Work with Object Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by