ratios from an array

2 views (last 30 days)
Dinu Th.
Dinu Th. on 20 Apr 2020
Commented: Ameer Hamza on 20 Apr 2020
Hello, can anyone help me with this one? I have this array called 'd'. I want to generate a new array called ratio. Answers for array ratio should be calculated as the given example. d1,d2,... are numbers in descending order. I have around 100 numbers in array d. So I am trying to run a code to do the calculations automatically. Thank you.
d=[d1;d2;d3;d4] % example d=[4;3;2;1]
size=length(d)
ratio=zeros(size,size-1)
%calculations
ratio=[0 0 0 ;
d1/d2 0 0 ;
d1/d3 d2/d3 0 ;
d1/d4 d2/d4 d3/d4 ]

Accepted Answer

Ameer Hamza
Ameer Hamza on 20 Apr 2020
Edited: Ameer Hamza on 20 Apr 2020
try this
d = [4 3 2 1];
ratio = tril(d./d.', -1);
ratio(:,end) = [];
Result:
ratio =
0 0 0
1.3333 0 0
2.0000 1.5000 0
4.0000 3.0000 2.0000
  2 Comments
Dinu Th.
Dinu Th. on 20 Apr 2020
Thank you for the quick response. It works.
Ameer Hamza
Ameer Hamza on 20 Apr 2020
I am glad to be of help.

Sign in to comment.

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!