input variable stored in matrice

1 view (last 30 days)
oselu
oselu on 5 Aug 2014
Commented: oselu on 5 Aug 2014
Hi there I wrote a program that could calculate the distance an object falls due to gravity. I prompted the user to enter a g amount and the program would calculate the the distance. Now i would like to store the specific g of the different planets in a matrice. The user would enter the name of the planet and matlab will then from there calculate the distance fallen. could anybody assist me or guide me to the right path. Much appreciated.

Accepted Answer

Aurele Turnes
Aurele Turnes on 5 Aug 2014
You could also use a structure named g to store the value of g for each planet instead of a matrix. For example, you create your structure as follows:
g.Earth =
g.Mars =
g.Uranus =
Then, when the user inputs a planet, you can use dynamic field naming to access the appropriate g as follows:
user_planet = 'Earth';
user_g = g.(user_planet);
The following article gives a short introduction on dynamic field naming in structures:

More Answers (2)

Michael Haderlein
Michael Haderlein on 5 Aug 2014
e.g.
planets={'Earth','Moon','Mars'};
g=[9.81 1.62 3.71];
user_planet=inputdlg('Planet name: ');
planet_ID=strmatch(user_planet,planets);
if isempty(planet_ID)
msgbox('Planet not found');
else
user_g=g(planet_ID);
%further calculations
end

oselu
oselu on 5 Aug 2014
Thank you guys I will try all these methods. really appreciate it

Categories

Find more on Earth and Planetary Science in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!