how to use abs function in this code?

3 vues (au cours des 30 derniers jours)
Ozan Mirzanli
Ozan Mirzanli le 26 Mai 2020
Commenté : Ozan Mirzanli le 26 Mai 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 :)

Réponses (1)

KALYAN ACHARJYA
KALYAN ACHARJYA le 26 Mai 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 commentaires
Ozan Mirzanli
Ozan Mirzanli le 26 Mai 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.
Ozan Mirzanli
Ozan Mirzanli le 26 Mai 2020
any ideas?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by