Matching two numbers using only 2 decimal points
7 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I have 2 numbers that I want to match in my program and if these don't match I want to receive an error message. The two numbers that I want to match should match only up to the first two decimal points. For example,
A=3.82 and B=3.829 should match since 3.82 is common. On the other hand, A=3.82 and B=3.8 don't match .How can I match A and B?
0 件のコメント
採用された回答
Chandra Kurniawan
2012 年 1 月 8 日
A = 3.82;
B = 3.829;
C = 3.82;
D = 3.8;
Astr = num2str(A);
Bstr = num2str(B);
Astr = Astr(strfind(Astr,'.'):end);
Bstr = Bstr(strfind(Bstr,'.'):end);
if length(Astr) < 3, Astr = strcat(Astr,'0'); end
if length(Bstr ) < 3, Bstr = strcat(Bstr,'0'); end
strcmp(Astr(1:3),Bstr(1:3))
0 件のコメント
その他の回答 (1 件)
Robert Cumming
2012 年 1 月 8 日
compare = @(n1,n2,n_dcp) round(n1*10^n_dcp)==round(n2*10^n_dcp);
>> compare(1.23,1.234,2)
ans =
1
>> compare(1.23,1.2,2)
ans =
0
1 件のコメント
Anu
2024 年 4 月 16 日
'compare' function requires one of the following Toolbox:
1. System Identification Toolbox
2. Model Predictive Control Toolbox
3. Predictive Maintenance Toolbox
Is there any alternative method
参考
カテゴリ
Help Center および File Exchange で Residual Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!