User inputed vector - Index exceeds matrix dimensions.

1 view (last 30 days)
I can't seem to get this code to have the user input the vector.
error message: Index exceeds matrix dimensions.
code below:
e = zeros(1,5);
cnt = 0;
while 1==1
cnt = cnt+1;
if (cnt == 6)
break;
e(cnt) = input('Elements: ')
end
end
e = e(1:cnt);
w=[16 12 14 32 1];
disp('molecular weight: ')
w*e

Answers (3)

Azzi Abdelmalek
Azzi Abdelmalek on 28 Nov 2012
Edited: Azzi Abdelmalek on 28 Nov 2012
Because when cnt==6; you can't calculate e = e(1:cnt); (numel(e)=5)

Image Analyst
Image Analyst on 28 Nov 2012
Try doing it this way:
userString = char(inputdlg('Enter the numbers'))
theNumbers = sscanf(userString, '%f')

Jan
Jan on 29 Nov 2012
e = zeros(1,5);
for cnt = 1:5
e(cnt) = input('Elements: ')
end

Community Treasure Hunt

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

Start Hunting!