Maximum absolute value in array

39 views (last 30 days)
Serina Robbins
Serina Robbins on 23 Mar 2021
Edited: Jan on 23 Mar 2021
I have a formula carry out a calculation that gives me positive and negative numbers (which is is supposed to) that correspond to an alpha angle. How can I find the maximum asbsolute value and find its corresponding alpha?
My code it
By = round((Ey-(FGH.*sind(gamma))),5);
Bymax = max(abs(By))
indexes = find(By == Bymax);
angleBy = alpha(indexes)
Where my Bymax is originally negative but the abs turns it positive. Now I need to find teh corresponding alpha to the Bymax.
It gives me:
angleBy =
1×0 empty double row vector
I tried with another force I have that the magnitude is already a positive number.. the code looks like:
Bz = Ez+(FGH.*cosd(gamma));
Bzmax = max(abs(Bz))
indexes = find(Bz == Bzmax);
angleBz = alpha(indexes)
And that gives me:
Bzmax =
3801.5
angleBz =
8.686
Which is what I want.
What am I doing wrong?

Answers (1)

Jan
Jan on 23 Mar 2021
Edited: Jan on 23 Mar 2021
Use the 2nd output of the max() command:
[Bymax, index] = max(abs(By))
By(index)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!