Getting the ratio of consecutive links in network using loop.

I have two variables
A: 1 2 3 4 5 6 7 8 9
B: 2 10 5 8 12 6 14 6 2
I want to get the ratio of Bn/Bn-1 such that for A=1 is ratio is none, A=2 is B2/B1, A=3 is B3/B2 and so on.
Can anyone tell me how to do this in loop?
Thank you

 Accepted Answer

A = 1:9; % unused
B = [2 10 5 8 12 6 14 6 2];
B_ratio = [NaN B(2:end)./B(1:end-1)] % no loop necessary
B_ratio = 1×9
NaN 5.0000 0.5000 1.6000 1.5000 0.5000 2.3333 0.4286 0.3333

2 Comments

Thank you so much. It gave "Dimensions of arrays being concatenated are not consistent." error first. then, I added semi colon after NaN and it fixed the error.
That means your B is a column vector (mine was a row vector). In any case, glad you got it working!

Sign in to comment.

More Answers (0)

Categories

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

Asked:

on 12 Jun 2022

Edited:

on 12 Jun 2022

Community Treasure Hunt

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

Start Hunting!