MATLAB: I have to add the values that are inside the matrix called s

MATLABmatricesremove values

s= [...
99 99 0.100 0.120 0 0.500 0;
0 0 0 0 0.150 0.120 0;
0.110 0.010 0.010 0 0 0.300 0.100;
0 0.250 0 0.050 0.060 0.100 0.110;
0 0.120 0.040 0 0.500 0.750 1.200];
I have a file with different matrices. I want to write a general code that will add all the values inside this matrix without including the last two in this case 0.750 1.200 and the 99's
so far I have
r=(s(1:5,1:7))
y=sum(r(r<99))
I don't know to remove the last two values as in a general code that will work for the rest of the matrices.

Best Answer

Close. But try it this way if you want to sum everything, except for the last two elements in the last row (kind of a weird restriction, but whatever...), that is less than 99. The key is the transpose which you forgot to do, because if you just do (:) it goes down rows in a column first before it moves over to the next column.
clc;
format compact
format longg
s= [...
99 99 0.100 0.120 0 0.500 0;
0 0 0 0 0.150 0.120 0;
0.110 0.010 0.010 0 0 0.300 0.100;
0 0.250 0 0.050 0.060 0.100 0.110;
0 0.120 0.040 0 0.500 0.750 1.200];
sTransposed = s'; % Note the transpose.
% Get all but the last two columns in the last row.
allButLast2 = sTransposed(1:end-2)
% Now threshold at 99 and sum those below the threshold.
y=sum(allButLast2(allButLast2<99))
The answer:
y =
2.75