how to use abs function in this code?

3 views (last 30 days)
Ozan Mirzanli
Ozan Mirzanli on 26 May 2020
Commented: Ozan Mirzanli on 26 May 2020
%Write a Matlab script to create random integer matrix with elements between -30 and 30.
%The size of the matrix must be first be read from user input. Use loops to sum of each row.
%Then find the differences between all pairs of these sums.
a=input('Enter the size of rows:');
b=input('Enter the size of columns:');
A=randi([-30 30],a,b)
r=zeros(a);
d=zeros(a);
for i=1:a
for j=1:b
r(i)=r(i)+A(i,j);
end
end
for k=1:a
for l=1:a
d(k,l)=(r(k)-r(l));
end
end
difference=triu(d,1)
%So I write this code and it worked -with a problem-. Let's say I created a 2x2 Matrix.
%TheSumOfFirstRow=2, TheSumOfSecondRow=3. As the result I wanna see both 2-3=-1 and 3-2=1.
%But the code that I wrote calculates just 2-3=-1.
Can someone please help :)

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 26 May 2020
a=input('Enter the size of rows:');
b=input('Enter the size of columns:');
A=randi([-30 30],a,b)
r=zeros(a);
d=zeros(a);
for i=1:a
for j=1:b
r(i)=r(i)+A(i,j);
end
end
for k=1:a
for l=1:a
d(k,l)=abs((r(k)-r(l)));
end
end
difference=triu(d,1)
  4 Comments
Ozan Mirzanli
Ozan Mirzanli on 26 May 2020
This is our matrix
A =
-14 9
11 -21
This is the result due to your second code
Difference =
-5 15
15 -5
This is the result how it should be
Difference =
5 (Sum of Row 1 - Sum of Row 2)
-15 (Sum of Row 2 - Sum of Row 1)
The sentences in parantheses are not gonna be in the result, I write them to explain what I exactly mean.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!