Maximum absolute value in array

47 次查看(过去 30 天)
Serina Robbins
Serina Robbins 2021-3-23
编辑: Jan 2021-3-23
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?

回答(1 个)

Jan
Jan 2021-3-23
编辑:Jan 2021-3-23
Use the 2nd output of the max() command:
[Bymax, index] = max(abs(By))
By(index)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by