Checking if a matrix is right dimensions.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Giuseppe
am 24 Mär. 2014
Kommentiert: Giuseppe
am 24 Mär. 2014
I have this code for a user to enter coordinates. This creates then the matrix y and x.
n=10; % number of lines
a= inputdlg('enter x coordinates','test',n)
x=str2num(a{1})
b= inputdlg('enter y coordinates','test',n)
y=str2num(a{1})
I want to make it so that if there is unequal numbers of y and x cordinates a error message is displayed. Would I use if, else statements using the numel command to check if numel of x equalls y.
Thanks,
0 Kommentare
Akzeptierte Antwort
Youssef Khmou
am 24 Mär. 2014
Try
if length(a{1})~=length(b{1})
error(' Vectors must have same length');
end
0 Kommentare
Weitere Antworten (1)
Image Analyst
am 24 Mär. 2014
Bearbeitet: Image Analyst
am 24 Mär. 2014
Try this:
numberOfCoordinates = 10; % number of coordinates.
for k = 1 : numberOfCoordinates
editBoxPrompts{k} = sprintf('Coordinate #%d', k);
end
% celldisp(editBoxPrompts);
% Get x:
caX = inputdlg(editBoxPrompts, 'X coordinates')
x = str2double(caX)
% Get rid of nans (where they didn't enter anything).\
x = x(~isnan(x))
% Get y:
caY = inputdlg(editBoxPrompts, 'Y coordinates')
y = str2double(caY)
% Get rid of nans (where they didn't enter anything).\
y = y(~isnan(y))
% Check for same lengths.
if length(x) ~= length(y)
warningMessage = sprintf('Error: length of x (%d) does not match length of y (%d)',...
length(x), length(y));
uiwait(warndlg(warningMessage));
end
Siehe auch
Kategorien
Mehr zu Logical 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!