how to exclude some value from matrix?

sumnot3([1 2 3; 4 5 6; 7 8 9]) % correct answer 1+2+4+5+6+7+8+9=42
function mod_sum = sumnot3(A)
[rows cols] = size(A);
Avec = A(:);
mod_sum = sum(Avec);
% code to add to mod_sum entries of A not equal to 3
end
how to get the sum all the elements inside matrix A, excluding 3?

1 Comment

You can try with this:
function mod_sum = sumnot3(A)
[rows cols] = size(A);
A3=A(1,end);
rep=A3==3;
A(rep,end)=0;
mod_sum = sum(A,'all');
% code to add to mod_sum entries of A not equal to 3
end

Sign in to comment.

 Accepted Answer

It's unclear whether you want to exclude A(1,3) or whether you want to exclude the number 3 regardless of its location.
A = [1 2 3; 4 5 6; 7 8 9];
B1 = sum(A(:)) - A(1,3)
B1 = 42
B2 = sum(A(A~=3)) % works for integers
B2 = 42

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!