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일

1 개 추천

Use the 2nd output of the max() command:
[Bymax, index] = max(abs(By))
By(index)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

제품

릴리스

R2020b

태그

질문:

2021년 3월 23일

편집:

Jan
2021년 3월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by