ginput
古いコメントを表示
The question is that: Read 12 arbitrary numbers from the keyboard to a vector one at a time. The numbers should all be in the range 0-20. The m-file should ask for a new number until the vector has 12 elements.The input from the keyboard must come after a request. When the vector has 12 elements it should present them as a matrix dispalyed in the command window. There should also be a plot of the numbers. Present them with ’*’ in the plot. They should be connected with a dotted line. The second part of the m-file should have a graphical reading. Mark the twelve points by a click with the mouse button in the plot ( use ginput !). Then round these twelve points towards nearest integer. Put these twelve rounded values together with the twelve original values in a matrix ( different columns). Display the matrix in the command window and put a comment there as well. Hint: Use a for-loop and ginput. Use help to find out how these work !
and my code is:
D=cell(1,12) for i=1:12, D{1,i}=input('Give me any number between 0 and 20:\n'); end celldisp(D); Z=[D{1} D{2} D{3} D{4} D{5} D{6} D{7} D{8} D{9} D{10} D{11} D{12}]; disp(Z);
x=1:1:12; plot(x,Z,'r--*','linewidth',2); axis([0 12 0 20]); xlabel('x axis') ylabel('inputs')
for i=1:12, [X,Y] = round(ginput(i)); end
it gives error like that
Error using round Too many output arguments.
Error in assignment2 (line 20) [X,Y] = round(ginput(i));
why it gives an error like that ?
Yahya Aktaş
採用された回答
その他の回答 (2 件)
yahya aktas
2012 年 4 月 20 日
Thomas
2012 年 4 月 20 日
Try
for i=1:12,
[X,Y] = ginput(i);
end
X=round(X);
Y=round(Y);
EDIT for 12 inputs
remove for loop
[X,Y]=ginput(12);
X=round(X);
Y=round(Y);
2 件のコメント
yahya aktas
2012 年 4 月 20 日
Yunus
2014 年 12 月 8 日
To Yahya aktaş
merhaba abi resmin belirli bölgesini seçip oradaki piksellerin konum bilgisini nasıl alabilirim ?
カテゴリ
ヘルプ センター および File Exchange で Data Exploration についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!