Borrar filtros
Borrar filtros

Efficient methods for MATLAB code

1 visualización (últimos 30 días)
Julian
Julian el 30 de Ag. de 2018
Editada: Matt J el 30 de Ag. de 2018
Hi everyone,
i'm quite new to MATLAB and also programming as such.
I'm currently refactoring an old Software. Often when i'm creating new functions i need a lot of variables as Input. I guess some of them could be stored in the handles structure that is constantly being passed around.
So now i'm wondering what is more efficient, respectivley less time comsuming a) Storing variables in the handle structure(making it larger and maybe heavier to handle for MATLAB) b) Creating functions that have a lot of Input variables
I'm just curious and it would be great if someone could answer this.
Best regards Julian

Respuesta aceptada

Matt J
Matt J el 30 de Ag. de 2018
Both are equivalent as far as consuming computational resources is concerned. There is no fundamental difference between structure fields and individual variables. From Matlab's point of view, it's just a different way of naming them.
  2 comentarios
Julian
Julian el 30 de Ag. de 2018
Editada: Julian el 30 de Ag. de 2018
Thanks for your answer. This is good to know.
But is MATLAB also indifferent about a handle structure with say 240 components and a handle structure with 300 components?
Because my handles get passed around a lot between functions and if a bigger handle structure slows down the whole programm, i would be more careful with extanding the handle structure. So say i have the possibility to make a function with an Input of one variable, but i have also stored this variable in my handle structure. Does it make more sense to use the handle or to assign the individual variable in terms of speed. Do you know what i mean?
Matt J
Matt J el 30 de Ag. de 2018
Editada: Matt J el 30 de Ag. de 2018
If you have lots of related variables that often need to travel together, it makes sense to store them in a structure and pass them around that way. That's what structures are for.
In terms of speed and computational burden, there is no big difference between passing 1 variable or a million variables. Matlab isn't making copies of these variables every time you pass them to a function, if that's what you're worried about. They all get passed with pointers. See, for example,

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by