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일

0 개 추천

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일

1 개 추천

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 = 

카테고리

제품

릴리스

R2021b

태그

질문:

2022년 9월 19일

답변:

2022년 9월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by