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.

답변 (2개)

madhan ravi
madhan ravi 2018년 12월 5일
편집: madhan ravi 2018년 12월 5일

0 개 추천

% Just alter the below lines in your code
points=cell(1,n); % before loop
points{i}=values; %inside loop
cell2mat(points) %outside loop

댓글 수: 5

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;
Fille
Fille 2018년 12월 6일
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)]

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

Stephen23
Stephen23 2018년 12월 5일
편집: Stephen23 2018년 12월 5일

0 개 추천

str = input('Enter values x y: ','s');
vec = sscanf(str,'%f')

카테고리

도움말 센터File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기

태그

질문:

2018년 12월 5일

댓글:

2018년 12월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by