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.
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

Asked:

on 20 Apr 2020

Commented:

on 20 Apr 2020

Community Treasure Hunt

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

Start Hunting!