How to skip [] when add values to a vector variable?

How to avoid having to put [] around the values that are going into the vector variable when using input command?
for i = 1:n;
values=input('Enter a value [x y]: ');
point=[point; values]
end
Enter a point [x y]: 2 2
Error using askpoints (line 7)
Error: Invalid expression. Check for missing multiplication operator, missing or
unbalanced delimiters, or other syntax error. To construct matrices, use brackets
instead of parentheses.

Risposte (2)

madhan ravi
madhan ravi il 5 Dic 2018
Modificato: madhan ravi il 5 Dic 2018
% Just alter the below lines in your code
points=cell(1,n); % before loop
points{i}=values; %inside loop
cell2mat(points) %outside loop

5 Commenti

Hi,
Thanks for the quick answer.
Still some issue
part of the function
points=cell(1,n);
for i = 1:n;
values=input('Enter a point [x y]: ');
points{i}=values;
i=i+1;
end
cell2mat(points)
Enter a point [x y]: 2 2
Error using function (line 4)
Error: Invalid expression. Check for missing multiplication operator, missing or
unbalanced delimiters, or other syntax error. To construct matrices, use brackets
instead of parentheses.
Added 's'
values=input('Enter a point [x y]: ','s');
give input as shown
[2 2]
reshape([points{:}],[],2) % change last line to this also remove i=i+1;
Hi,
Have realized that I have to have a matrix instead of vector. ie every input must be on own line
Example:
1 1 input 1
2 2 input 2
3 3 input 3
Do I have to use another way of converting string to the values to the matrix?
values=input('Enter a point [x y]: ')*[ones(1,2)]

Accedi per commentare.

Stephen23
Stephen23 il 5 Dic 2018
Modificato: Stephen23 il 5 Dic 2018
str = input('Enter values x y: ','s');
vec = sscanf(str,'%f')

Categorie

Scopri di più su Operators and Elementary Operations in Centro assistenza e File Exchange

Richiesto:

il 5 Dic 2018

Commentato:

il 6 Dic 2018

Community Treasure Hunt

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

Start Hunting!

Translated by