# How to make input values go into a matrix set?

5 views (last 30 days)
Daniil Hart on 21 Oct 2020
Commented: Fangjun Jiang on 22 Oct 2020
How can make the script ask for you to type in two values and have it store those two values into a matrix?
example:
Point A = input(' Enter coordinate point location (x,y)
Command Window: >> 2 , 4
Then is stores those two as PointA = [ 2 , 4 ]
is there any way to do that without you having to enter " [ 2 , 4 ] " into the command window??
the only way i've figured out so far is doing this but it requires a seperate input for each value like ive shown below, is there a way to simplify?
d = input(" Enter X value for A \n");
e = input(" Enter Y value for A \n");
f = input(" Enter X value for B \n");
g = input(" Enter Y value for B \n");
h = input(" Enter X value for C \n");
i = input(" Enter Y value for C \n");
PointA = [ d , e ];
PointB = [ f , g ];
PointC = [ h , i ];

Daniil Hart on 21 Oct 2020
To clarify is there a way to turn
d = input(" Enter X value for A \n");
e = input(" Enter Y value for A \n");
into one step, so you could enter both d and e in a single step?
Fangjun Jiang on 21 Oct 2020
then you have to enter " [ 2 , 4 ] "

Fangjun Jiang on 21 Oct 2020
InputStr= input(' Enter coordinate point location (x,y)','s');
Command Window: >> 2 , 4
PointA=str2num(InputStr)

Daniil Hart on 21 Oct 2020
Thank you! That works, however I'm not sure if my prof will even accept that since we haven't covered that command yet.
Fangjun Jiang on 22 Oct 2020
Or a stretch code like this, no duplicated code, no fancy functions, no unnecessary typing for the user
%%
PointA=[0 0];
Msg={'x','y'};
for k=1:2
PointA(k)=input(['Enter ',Msg{k},' value for A\n']);
end

R2020a

### Community Treasure Hunt

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

Start Hunting!