フィルターのクリア

How can I solve this problem in the matlab program ?

2 ビュー (過去 30 日間)
Vuqar Samedov
Vuqar Samedov 2020 年 12 月 21 日
回答済み: Walter Roberson 2020 年 12 月 22 日
  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 Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by