Borrar filtros
Borrar filtros

Function not returning the desired structure

4 visualizaciones (últimos 30 días)
David Meixell
David Meixell el 30 de Oct. de 2020
Comentada: David Meixell el 30 de Oct. de 2020
When testing my function to build a structure based on a .dat file, the output shows the desired struct 'kepler' but seems to overwrite with the same size struct 'ans.' Why is it doing this, and how can I fix it?
function kepler = loadkepler(filename)
data = load(filename);
kepler.svid = data(1:end,1);
kepler.meananomaly = data(1:end,2);
kepler.omega = data(1:end,3);
kepler.radius = data(1:end,4);
kepler.inclination = data(1:end,5);
kepler.reftime = data(1:end,6);
end
When I test it with just the 'svid' field, this is the output:
>> loadkepler
kepler =
struct with fields:
svid: [24×1 double]
ans =
struct with fields:
svid: [24×1 double]
Attempts to build a bar graph only work if I use 'ans.svid' instead of 'kepler.svid'

Respuesta aceptada

Stephan
Stephan el 30 de Oct. de 2020
Editada: Stephan el 30 de Oct. de 2020
You dont assign the output of the function to a variable - use:
kepler = loadkepler...
  1 comentario
David Meixell
David Meixell el 30 de Oct. de 2020
Well, that worked!
I thought I wouldn't have to do that, as the struct 'kepler' is created when I assign each field. Does MATLAB not recognize the struct as a valid output of the function? I'm confused as to what's going on behind the scenes.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by