Filter löschen
Filter löschen

How can I solve this problem in the matlab program ?

2 Ansichten (letzte 30 Tage)
Vuqar Samedov
Vuqar Samedov am 21 Dez. 2020
Beantwortet: Walter Roberson am 22 Dez. 2020
  3 Kommentare
Vuqar Samedov
Vuqar Samedov am 21 Dez. 2020
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 am 21 Dez. 2020
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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

David Hill
David Hill am 21 Dez. 2020
It does equal 1
syms u
int(exp(-u^2),-inf,inf);
  1 Kommentar
Timo Dietz
Timo Dietz am 21 Dez. 2020
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 22 Dez. 2020
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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by