Output format error?

5 Ansichten (letzte 30 Tage)
DocD
DocD am 3 Nov. 2017
Kommentiert: DocD am 3 Nov. 2017
Hi There, I'm trying to output data to screen in two columns, the first column contains the ginputs (x,y coordinates) from user point selections using the mouse, whilst the second column is a set of reference coordinates held in the string "ActualValues".
I've only got 3 ginput (x,y) values in contrast to 10 reference values as I'm still getting the code functional.
I know this is a very basic problem, but I'm stuck fast and would really appreciate some help!
I keep getting the following error: Error using vertcat Dimensions of matrices being concatenated are not consistent. FinalOutput = [A, ActualValues; B; C];
This is my code:
clear
clc
close all
Map=imread('Map.Jpg');
imshow(Map);
hold on;
A = zeros(1, 24);
B = zeros(1, 24);
C = zeros(1, 24);
ActualValues = [124 93 109 77 125 83 117 75 122 80];
uiwait(msgbox('Choose Point A'));
[x,y] = ginput(1);
hline = plot(x,y,'r+', 'MarkerSize', 50);
A = [x, y];
uiwait(msgbox('Choose Point B'));
delete(hline);
[x,y] = ginput(1);
hline1 = plot(x,y,'r+', 'MarkerSize', 50);
B = [x, y];
uiwait(msgbox('Choose Point C'));
delete(hline1);
[x,y] = ginput(1);
hline2 = plot(x,y,'r+', 'MarkerSize', 50);
C = [x, y];
%Display Values:
disp ( 'User Values: Actual Values: Error:')
%FinalOutput = [A, B, C]; Formats output
%disp(FinalOutput); Displays previous formatted output (outputs FinalOutput)
FinalOutput = [A, ActualValues; B; C];
disp(FinalOutput);
disp(A);
disp(B);
disp(C);
How do I Fix this?
Many thanks.
  2 Kommentare
KSSV
KSSV am 3 Nov. 2017
ActualValues = [124 93 109 77 125 83 117 75 122 80];
this should be a matrix with..it shall have both x and y coordinates.
DocD
DocD am 3 Nov. 2017
Bearbeitet: DocD am 3 Nov. 2017
I've tried that it still doesn't work, originally it was: ActualValues = [124 93; 109 77; 125 83; 117 75; 122 80];
its something to do with how its referenced in "finalOutput" at the bottom, but I don't know what or indeed how to correct, please help!
FinalOutput = [A, ActualValues; B; C]; disp(FinalOutput);

Melden Sie sich an, um zu kommentieren.

Antworten (1)

KSSV
KSSV am 3 Nov. 2017
USe this:
FinalOutput = [A; ActualValues; B; C]
with ActualValues as [124 93; 109 77; 125 83; 117 75; 122 80];
  3 Kommentare
KSSV
KSSV am 3 Nov. 2017
A= [2, 3]
B= [4, 7]
C= [1, 8]
D= [1 1; 2 2; 3 3; 4 4; 5 5; 6 6; 7 7]
FinalOutput = [A; D; B; C]
is it repeating?
DocD
DocD am 3 Nov. 2017
I'm sorry, I didn't get a response, so I posted out a wider question!
Looks Like I'm repeating myself too!
The amendment to the code you provided repeats as you can see above, I'd like the first, 7th and 8th x, y coords in the first column and the other values in the column next to it.
I appreciate your help!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Exploration finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by