how do I solve a non linear function

Hi I am trying to solve this function but I keep on getting a warning sign I am unsure to howto put solve for a non liner function
syms t
y = 4*sin(2*pi*t) + exp(-t)./t
y = 
eqn = y -- 0
eqn = 
solv =solve(eqn,t)
Warning: Unable to solve symbolically. Returning a numeric solution using vpasolve.
solv = 
98.5
figure
fplot(y,[-3 10])
grid

3 Comments

What do you want to see as result from "solve" ?
An explicit formula for all zeros of your nonlinear function ? Such a formula does not exist.
All zeros in between a certain range as numerical values ? Such an option for a solver does not exist.
One zero of the function ? vpasolve gives you one such value out of an infinite number of possible solutions.
Thank you so much. The vpasolve instead of solve worked! :)
You can restrict the search for a solution to a specific interval, e.g.
syms t
y = 4*sin(2*pi*t) + exp(-t)./t;
eqn = y == 0;
solv =vpasolve(eqn,t,[0,1])
solv = 
0.54308725386344674331298509227806
solv =vpasolve(eqn,t,[1,2])
solv = 
1.505862532193485343436982696241
figure
fplot(y,[0.1 2])
grid

Sign in to comment.

Answers (0)

Categories

Products

Release

R2022a

Asked:

on 4 Aug 2022

Edited:

on 5 Aug 2022

Community Treasure Hunt

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

Start Hunting!