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 个评论

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

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品

版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by