How can I solve this problem in the matlab program ?

2 次查看(过去 30 天)
  3 个评论
Vuqar Samedov
Vuqar Samedov 2020-12-21
Dear Walter Roberson, I use it in the matlab program, but the answer is not correct. I do not know why the answer is incorrect? The answer should actually be 1.
>> syms x a b
>> f=1/b*sqrt(2*pi)*exp(-1/2*b^2)*(x-a)^2;
>> u=(1/b*sqrt(2));
>> f=subs(f,u);
>> int (f,-inf,inf)
ans =
NaN
Timo Dietz
Timo Dietz 2020-12-21
Some parenthesis are missing and u seems to be wrongly defined. Nevertheless, Matlab seems to calculate intemediate steps which prevents the final elimination of values on symbolic side.

请先登录,再进行评论。

采纳的回答

David Hill
David Hill 2020-12-21
It does equal 1
syms u
int(exp(-u^2),-inf,inf);
  1 个评论
Timo Dietz
Timo Dietz 2020-12-21
Yes it does, but he substitution does not work as expected. Even with all parenthesis set and u defined correctly, Matlab seems to calculate intermediate values (e.g. sqrt(2)) and finally is not able to eliminate these.

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2020-12-22
syms x a b u
Pi = sym(pi)
Pi = 
π
f = 1/(b*sqrt(2*Pi))*exp(-1/(2*b^2)*(x-a)^2)
f = 
U = (x-a)/(b*sqrt(2));
DU = diff(U,x);
B = solve(u == U, b)
B = 
fs = subs(f/DU, b, B)
fs = 
int(fs,-inf,inf)
ans = 
1

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by