Not sure what's wrong with my code

Having trouble calling the function altidense,
Whenever i try calling the function with the command "altidense(1500) i get a "Undefined function 'altidens' for input arguments of type 'double'"
I've been tearing my hair out because the code in the function itself is fine i tried by just inputting altitude directly and it worked fine. Its just when i call it as a function that makes the code fail.
Thanks
AltVsDens = readmatrix('Rho_ISA.csv');
altidense(1500)
%function to find air density from Rho_ISA.csv
%takes altitude and extracts air density from neighbouring cell
function airp = altidense(Altitude)
cell = (Altitude/500)+1;
airp = AltVsDens(cell,2)
end
%function to calculate true airspeed
%where m = mass, p = air density, s = wing area, Cl = coefficient of lift
function V = truspeed(m,p,s,Cl)
V = sqrt((2*m*9.81)/(p*s*Cl))
end

3 comentarios

Johan
Johan el 22 de Feb. de 2022
Editada: Johan el 22 de Feb. de 2022
You can't call a variable that is not part of a function in a function.
I would suggest adding your AltVsDens variable as an input to your function.
AltVsDens = readmatrix('Rho_ISA.csv');
altidense(1500,AltVsDens)
%function to find air density from Rho_ISA.csv
%takes altitude and extracts air density from neighbouring cell
function airp = altidense(Altitude,data)
cell = (Altitude/500)+1;
airp = data(cell,2)
end
William Xupravati
William Xupravati el 22 de Feb. de 2022
Thanks,
Do you know where i can read up more on this? because i dont fully understand why and how this works.
Cris LaPierre
Cris LaPierre el 22 de Feb. de 2022
It boils down to variable scope. Consider the following links

Iniciar sesión para comentar.

Respuestas (1)

Jan
Jan el 22 de Feb. de 2022

0 votos

The providing of variables as inputs and outputs as well as sharing the data using nested cells is explained in the free online tutorial: https://www.mathworks.com/learn/tutorials/matlab-onramp.html

Categorías

Más información sobre Functions en Centro de ayuda y File Exchange.

Productos

Versión

R2021b

Preguntada:

el 22 de Feb. de 2022

Comentada:

el 22 de Feb. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by