Performance of structures as function arguments

Hi, I sometimes see code where structures are passed into a function and the fields are then stored in local variables, e.g.
function(data)
alpha = data.alpha [...]
Is there a good reason to do this, are the local variables accessed quicker than the structure elements or something?

 Akzeptierte Antwort

Iain
Iain am 2 Okt. 2014

0 Stimmen

Yes.
The "Good reason", is that an equation, say,
L = 1/2 * rho * Vel.^2 * area * (alpha*P1 + P0);
Is far quicker to read and write than:
Output.Lift = 1/2 * Environment.Density * Aircraft.Velocity.X.^2 * Aircraft.WingSurfaceArea * (Aircraft.Alpha * Aircraft.LiftCoefficientP(1) + Aircraft.LiftCoefficientP0)
Structures (particularly large ones, and arrays of structures) can be much slower than basic variables.

1 Kommentar

Dan
Dan am 2 Okt. 2014
Ok thanks, i can see that this can be a reason. To clarify though, my interest was not in speed of writing or reading of code, but in Matlab reading structures (not arrays of structures) rather than basic variables.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

Dan
am 2 Okt. 2014

Kommentiert:

Dan
am 2 Okt. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by