Solving equation using 'vpa' function

4 Ansichten (letzte 30 Tage)
Tan
Tan am 17 Mai 2023
Bearbeitet: Dyuman Joshi am 17 Mai 2023
I'm solving this eq: sin(x - 1.1556)+(sin(1.1556)*exp(-x/2.2683)) using vpa function but cannot solve, and below are my coding:
syms x;
x = solve(sin(x - 1.1556)+(sin(1.1556)*exp(-x/2.2683)));
vpa(x)
How can i solve this problem?
  1 Kommentar
VBBV
VBBV am 17 Mai 2023
Bearbeitet: VBBV am 17 Mai 2023
You can modify the code by assuming constraints on variable x as shown below
syms x;
assume(x >= 1.1556 & x < 5 )
warning('off')
sol = solve(sin(x - 1.1556)+(sin(1.1556)*exp(-x/2.2683)),x);
double(vpa(sol))
ans = 4.4275

Melden Sie sich an, um zu kommentieren.

Antworten (2)

KSSV
KSSV am 17 Mai 2023
syms x;
eqn = sin(x - 1.1556)+(sin(1.1556)*exp(-x/2.2683))==0;
solve(eqn,x)
Warning: Unable to solve symbolically. Returning a numeric solution using vpasolve.
ans = 
0.00000000000055271527457236056353377918317335
vpasolve(eqn,x)
ans = 
0.00000000000055271527457236056353377918317335

Dyuman Joshi
Dyuman Joshi am 17 Mai 2023
Bearbeitet: Dyuman Joshi am 17 Mai 2023
The equation you have has multiple solutions, see plot below for reference.
If you want to return a particular solution, use vpasolve() with a specifc initial guess near that particular solution
syms x
eqn = sin(x - 1.1556)+(sin(1.1556)*exp(-x/2.2683));
fplot(eqn, [-5 25])
yline(0)
out = double(vpasolve(eqn == 0, x, 4))
out = 4.4275

Communitys

Weitere Antworten in  Power Electronics Control

Kategorien

Mehr zu Formula Manipulation and Simplification finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by