Change exp from number to e

7 次查看(过去 30 天)
Im doing a little work on matlab and Im trying to type some expressions that include the number e. However, when I do this, instead of putting the e, it puts a fraction that aprroximates the value. Does anyone know how to change this?
syms c1 c2 y(x) f(x)
y(x) = (exp(2)/(exp(2)+1))*exp(-x)+(1/(exp(2)+1))*exp(x)
y(x) = 
ans = y(0)
ans = 
And as you can see, this causes it to not give an exact answer, y(0) should be 1, when it instead gives a really close approximation

采纳的回答

Rik
Rik 2022-9-19
Your own suggestion actually works (although it requires a call to simplify):
syms c1 c2 y(x) f(x) e
y(x) = (e^2/(e^2+1))*e^(-x)+(1/(e^2+1))*e^x
y(x) = 
y=simplify(y)
y(x) = 
y(0)
ans = 
1
You can also use subs to substitute e with exp(1).

更多回答(1 个)

Paul
Paul 2022-9-19
Use sym arguments to exp, otherwise it reverts to the base Matlab numerical function.
syms c1 c2 y(x) f(x)
y(x) = (exp(sym(2))/(exp(sym(2))+1))*exp(-x)+(1/(exp(sym(2))+1))*exp(x)
y(x) = 
Evaluate at some values
simplify(y([0 1 2]))
ans = 
vpa(ans) % etc.
ans = 

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

标签

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by