How to find angle in equation? (2024)

10 Ansichten (letzte 30 Tage)

Ältere Kommentare anzeigen

Ali am 18 Jun. 2021

  • Verknüpfen

    Direkter Link zu dieser Frage

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation

  • Verknüpfen

    Direkter Link zu dieser Frage

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation

Bearbeitet: John Kelly am 11 Jul. 2024 um 19:16

Akzeptierte Antwort: Walter Roberson

I want to find omega value in the equation.

can i anybody tell me how to solve this equation.

0 Kommentare

-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Melden Sie sich an, um diese Frage zu beantworten.

Akzeptierte Antwort

Walter Roberson am 21 Jun. 2021

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#answer_729345

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#answer_729345

In MATLAB Online öffnen

The search turns out to take over 20 seconds for each eload value, and even then it seems to fail.

Notice I ended at 0.002, which is the most I could do with this online version without timing out.

tic

syms omega

a=3.666;

k=0.467;

s=100;

r=1.4;

ef=0.08483;

N=(a*k)/(1+(a*k));

eloadvals = 0:0.001:0.002;

for eloadidx = 1 : length(eloadvals)

eload = eloadvals(eloadidx);

c1=(1-N)*(((r*a)/2)+(r/2)-1)-(r-1);

c2=(N*(r/(2*a))+(r/2)-1);

Ac2=((r*a)*(1-N))/2;

Ah1=(r*N)/(2*a);

A=-8*(1-N)*c2*sin(pi-atan(s/((1-N)*omega)))+8*N*c1*sin(2*(pi-atan(1/(N*omega))))+(32*N*ef+32*N*eload);

B=16*(1-N)*(-1*(((1-N)*omega)/(2*s))*(((Ah1*c1*sin(pi-atan(1/(N*omega)))*cos(pi-atan(1/(N*omega))))+((((N*s)/((1-N)*omega))+(N*(r/2-1)))*c2*cos((atan((((1-N)*((r/2)-1))/(s))*omega))+(pi-atan(s/((1-N)*omega))))*cos(pi-atan(s/((1-N)*omega)))))))*c2*sin(2*(pi-atan(s/((1-N)*omega))))+(16*(((N*omega)/2)*((((((1-N)/(N*omega))+((1-N)*(((r/2)-1)-(r-1))))*c1*cos((atan((((1-N)*((r/2)-1)-(r-1))/(1-N))*(N*omega)))+(pi-atan(1/(N*omega))))*cos(atan((((1-N)*((r/2)-1)-(r-1))/(1-N))*(N*omega))))+(Ac2*c2*sin(pi-atan(s/((1-N)*omega)))*cos(pi-atan(s/((1-N)*omega)))))))+2*c1)*N*c1*sin(2*(pi-atan(1/(N*omega))))+N*c1*c1*sin(4*(pi-atan(1/(N*omega))));

thissol = vpasolve(A==B);

if length(thissol) >= 1

sol(eloadidx) = thissol(1);

else

sol(eloadidx) = nan;

end

toc

Elapsed time is 54.511198 seconds.

plot(eloadvals, sol)

How to find angle in equation? (3)

Nothing visibile in the plot because vpasolve() failed.

7 Kommentare

5 ältere Kommentare anzeigen5 ältere Kommentare ausblenden

Walter Roberson am 21 Jun. 2021

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1594940

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1594940

My tests show that if the question is to find the omega for which A == B, then in order for there to be solutions, eload must be negative, below approximately -.014

You can derive this by taking symbolic eload, and calculate A-B and solving for eload, and start plotting. You will see a discontinuity, and that it never crosses 0; the closest to zero is at approximately omega = 1.42.

Ali am 21 Jun. 2021

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595300

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595300

right sir can we find eload (positve or negative) at which omega is only one root?

Walter Roberson am 21 Jun. 2021

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595320

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595320

If I recall correctly, the plot of eload in terms of omega has a discontinuity at 0, and rises from there, then falls to a minima at about omega = 1.42, and then increases again. The places where omega has only one root would then be the point of the minima (at about 1.42), together with the points that are above the local maxima that it rises to after the discontinuity at 0... as a quick mental memory, it was somewhere around omega = 3

I would need to recheck what happened on the other side of the discontinuity.

We could probably identify that singular point, and the range where it goes above the local maxima. But I have to ask why you would want to know those ??

Walter Roberson am 21 Jun. 2021

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595455

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595455

In MATLAB Online öffnen

I cannot quite get three plots without timing out, so the plots will be split between two posts.

syms omega

Q = @(v) sym(v);

a = Q(3.666);

k = Q(0.467);

s = Q(100);

r = Q(1.4);

ef = Q(0.08483);

N = (a*k)/(1+(a*k));

syms eload

Pi = Q(pi);

c1 = (1-N)*(((r*a)/2)+(r/2)-1)-(r-1);

c2 = (N*(r/(2*a))+(r/2)-1);

Ac2 = ((r*a)*(1-N))/2;

Ah1 = (r*N)/(2*a);

A = -8*(1-N)*c2*sin(Pi-atan(s/((1-N)*omega)))+8*N*c1*sin(2*(Pi-atan(1/(N*omega))))+(32*N*ef+32*N*eload);

B = 16*(1-N)*(-1*(((1-N)*omega)/(2*s))*(((Ah1*c1*sin(Pi-atan(1/(N*omega)))*cos(Pi-atan(1/(N*omega))))+((((N*s)/((1-N)*omega))+(N*(r/2-1)))*c2*cos((atan((((1-N)*((r/2)-1))/(s))*omega))+(Pi-atan(s/((1-N)*omega))))*cos(Pi-atan(s/((1-N)*omega)))))))*c2*sin(2*(Pi-atan(s/((1-N)*omega))))+(16*(((N*omega)/2)*((((((1-N)/(N*omega))+((1-N)*(((r/2)-1)-(r-1))))*c1*cos((atan((((1-N)*((r/2)-1)-(r-1))/(1-N))*(N*omega)))+(Pi-atan(1/(N*omega))))*cos(atan((((1-N)*((r/2)-1)-(r-1))/(1-N))*(N*omega))))+(Ac2*c2*sin(Pi-atan(s/((1-N)*omega)))*cos(Pi-atan(s/((1-N)*omega)))))))+2*c1)*N*c1*sin(2*(Pi-atan(1/(N*omega))))+N*c1*c1*sin(4*(Pi-atan(1/(N*omega))));

sol = solve(A-B, eload)

sol=

How to find angle in equation? (8)

double(limit(sol, omega, -inf))

ans = -0.0848

double(limit(sol, omega, inf))

ans = -0.0848

fplot(sol, [-10 10]); xlabel('omega'); ylabel('eload')

How to find angle in equation? (9)

%fplot(sol, [1.35 1.5]); xlabel('omega'); ylabel('eload')

%fplot(sol, [-1.5 -1.35]); xlabel('omega'); ylabel('eload')

Walter Roberson am 21 Jun. 2021

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595460

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595460

In MATLAB Online öffnen

syms omega

Q = @(v) sym(v);

a = Q(3.666);

k = Q(0.467);

s = Q(100);

r = Q(1.4);

ef = Q(0.08483);

N = (a*k)/(1+(a*k));

syms eload

Pi = Q(pi);

c1 = (1-N)*(((r*a)/2)+(r/2)-1)-(r-1);

c2 = (N*(r/(2*a))+(r/2)-1);

Ac2 = ((r*a)*(1-N))/2;

Ah1 = (r*N)/(2*a);

A = -8*(1-N)*c2*sin(Pi-atan(s/((1-N)*omega)))+8*N*c1*sin(2*(Pi-atan(1/(N*omega))))+(32*N*ef+32*N*eload);

B = 16*(1-N)*(-1*(((1-N)*omega)/(2*s))*(((Ah1*c1*sin(Pi-atan(1/(N*omega)))*cos(Pi-atan(1/(N*omega))))+((((N*s)/((1-N)*omega))+(N*(r/2-1)))*c2*cos((atan((((1-N)*((r/2)-1))/(s))*omega))+(Pi-atan(s/((1-N)*omega))))*cos(Pi-atan(s/((1-N)*omega)))))))*c2*sin(2*(Pi-atan(s/((1-N)*omega))))+(16*(((N*omega)/2)*((((((1-N)/(N*omega))+((1-N)*(((r/2)-1)-(r-1))))*c1*cos((atan((((1-N)*((r/2)-1)-(r-1))/(1-N))*(N*omega)))+(Pi-atan(1/(N*omega))))*cos(atan((((1-N)*((r/2)-1)-(r-1))/(1-N))*(N*omega))))+(Ac2*c2*sin(Pi-atan(s/((1-N)*omega)))*cos(Pi-atan(s/((1-N)*omega)))))))+2*c1)*N*c1*sin(2*(Pi-atan(1/(N*omega))))+N*c1*c1*sin(4*(Pi-atan(1/(N*omega))));

sol = solve(A-B, eload)

sol=

How to find angle in equation? (11)

double(limit(sol, omega, -inf))

ans = -0.0848

double(limit(sol, omega, inf))

ans = -0.0848

%fplot(sol, [-10 10]); xlabel('omega'); ylabel('eload')

fplot(sol, [1.35 1.5]); xlabel('omega'); ylabel('eload')

How to find angle in equation? (12)

fplot(sol, [-1.5 -1.35]); xlabel('omega'); ylabel('eload')

How to find angle in equation? (13)

Walter Roberson am 21 Jun. 2021

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595490

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1595490

So look at the top plot. The left and right halfs are symmetric around eload = -0.0848

You can see near the discontinuity at 0 that the left side close to 0 shares values with the right side close to 0, so that section is not unique.

If we look down the discontinuity on the left side close to 0, to the point where the one on the right close to 0 gives out, and then mentally follow that level near -0.1 to the left, we can see that we are not unique, there is the other side of the valley that rises up again. How high does the left valley rise? Well it rises to double(limit(sol, omega, -inf)) = -0.0848, and by following across towards the discontinuity at 0, we can see that that entire area gets us to a matching edge just to the left of 0.

What point does not have a duplicate? Only the lowest part of the valley, at approximately omega = -1.42 corresponding to eload of about -0.15342 : if you follow that one point left and right, there is no corresponding point on either side of the discontinuity.

Likewise, when we look on the right side of the discontinuity, we have a balance point at about 1.42 (same distance away from 0 as the other one), corresponding to eload of about -0.01403 .

Those are the only two omega that have unique solutions: +/- 1.42 (approximately) corresponding to eload of about -0.01403 and eload of about -0.15342 .

If there are any stable points, it would be only those two.

If omega were being controlled by some force pushing towards a balance, then if you were to disturb omega a little, it should rebalance itself. But if not... well, if there is no restoring pressure on omega, then if the system gets knocked slightly so that omega varies, then you would start getting two eload solutions.

Ali am 22 Jun. 2021

Direkter Link zu diesem Kommentar

https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1597135

  • Verknüpfen

    Direkter Link zu diesem Kommentar

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#comment_1597135

Thanks a lot sir

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Reshma Nerella am 21 Jun. 2021

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#answer_729300

  • Verknüpfen

    Direkter Link zu dieser Antwort

    https://de.mathworks.com/matlabcentral/answers/859655-how-to-find-angle-in-equation#answer_729300

Hi,

You can use solve function from symbolic math toolbox to solve equations and obtain the values of variables.

Refer to the documentation page for more informataion and examples: Solve.

0 Kommentare

-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Melden Sie sich an, um diese Frage zu beantworten.

Siehe auch

Kategorien

Mathematics and OptimizationSymbolic Math ToolboxMathematicsAssumptions

Mehr zu Assumptions finden Sie in Help Center und File Exchange

Tags

  • find angle

Community Treasure Hunt

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

Start Hunting!

Es ist ein Fehler aufgetreten

Da Änderungen an der Seite vorgenommen wurden, kann diese Aktion nicht abgeschlossen werden. Laden Sie die Seite neu, um sie im aktualisierten Zustand anzuzeigen.


Translated by How to find angle in equation? (17)

How to find angle in equation? (18)

Website auswählen

Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .

Sie können auch eine Website aus der folgenden Liste auswählen:

Amerika

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europa

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom(English)

Asien-Pazifik

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
  • 日本Japanese (日本語)
  • 한국Korean (한국어)

Kontakt zu Ihrer lokalen Niederlassung

How to find angle in equation? (2024)

References

Top Articles
Latest Posts
Article information

Author: Horacio Brakus JD

Last Updated:

Views: 5741

Rating: 4 / 5 (71 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Horacio Brakus JD

Birthday: 1999-08-21

Address: Apt. 524 43384 Minnie Prairie, South Edda, MA 62804

Phone: +5931039998219

Job: Sales Strategist

Hobby: Sculling, Kitesurfing, Orienteering, Painting, Computer programming, Creative writing, Scuba diving

Introduction: My name is Horacio Brakus JD, I am a lively, splendid, jolly, vivacious, vast, cheerful, agreeable person who loves writing and wants to share my knowledge and understanding with you.