Recall user defined variable in another subsequent user input.

body1 = input ('ENTER THE NAME OF THE FIRST CELESTIAL BODY: ','s');
body2 = input ('ENTER THE NAME OF THE SECOND CELESTIAL BODY: ','s');
planrad = input ('ENTER THE DISTANCE BETWEEN THESE TWO BODIES IN (m): ');
massbod1 = input ('ENTER THE MASS OF (body1): ');
massbod2 = input ('ENTER THE NAME OF (body2): ');
I'm asking the user to define the above variables... How can I programm "massbod1" and "massbod2" to automatically insert the user entered text?

 채택된 답변

Matt J
Matt J 2015년 1월 30일
I suspect that this is what you are trying to do
numbodies=4;
for i=1:numbodies
massbod(i)=input (['ENTER THE MASS OF (body ' num2str(i) '): '])
end

댓글 수: 5

Matt J
Matt J 2015년 1월 30일
편집: Matt J 2015년 1월 30일
You can also do this kind of thing:
>> massbod = input ('ENTER THE MASSES OF ALL BODIES AS A VECTOR: ');
ENTER THE MASSES OF ALL BODIES AS A VECTOR: [ 1 2 3 4]
>> massbod
massbod =
1 2 3 4
+1 for not trying to dynamically name variables.
Mathematically these would work, yes. However at the end of the program I want to tell the user some values associated with the names they entered. With this in mind, these will not accomplish that.
Yes it will. You just have to apply the same techniques consistently when gathering the names,
>> cbnames= input('ENTER THE NAMES OF THE CELESTIAL BODIES:')
ENTER THE NAMES OF THE CELESTIAL BODIES:{'Jupiter','Venus','Mars'}
>> massbod = input ('ENTER THE MASS OF ALL BODIES AS A VECTOR: ');
ENTER THE MASS OF ALL BODIES AS A VECTOR: [10 20 30]
Then use a loop over both to print results,
>> for i=1:3, disp(['The mass of ', cbnames{i} ' is ' num2str(massbod(i))]), end
The mass of Jupiter is 10
The mass of Venus is 20
The mass of Mars is 30
You're right - I had to read it again. Thanks for looping back to my comment!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Geoscience에 대해 자세히 알아보기

질문:

2015년 1월 30일

댓글:

2015년 1월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by