detecting the difference of the sequence
1 回表示 (過去 30 日間)
古いコメントを表示
In the data set, i have one specific column which has 12 characters.It is a alphanumeric column.(pls see the attachment). Alphanumeric column sequence should be 0,1,2,3,....9,a,b,c,...f. But within the data set it differs(eg:3rd value in the file). I want to detect that value. (PS: since it has 12 characters, i want to first detect: first 4 characters(from the left) and if that's true then detect the last 4 digits). Any suggestions.
0 件のコメント
採用された回答
Michael Haderlein
2015 年 2 月 4 日
編集済み: Michael Haderlein
2015 年 2 月 4 日
Why do you want to detect first 4 characters from the left and then the last 4 digits? My suggestion is:
fid=fopen('test.txt');
data=textscan(fid,'%s');
fclose(fid);
diff(cellfun(@hex2dec,data{1}))>1
This will always be false except of the step ...67 ...69
Edit: If you want to get the respective value which is too large:
data{1}([false;diff(cellfun(@hex2dec,data{1}))>1])
ans =
'03ff00000169'
3 件のコメント
Michael Haderlein
2015 年 2 月 4 日
I don't understand the problem. Do you mean that after 03ff0000ffff the next value would be 040000000000? Or would the next value be 03ff00010000?
Maybe a short explanation about my code: I first convert all the data (e.g. 03ff00000169) from hexadecimal to decimal: hex2dec('03ff00000169')=4393751544169
Then, I check the difference of the values. If it's larger than 1 (i.e. at least one value is missing), the too large value will be displayed. In case 03ffffffffff is followed by 040e00000000 (instead of 040000000000), the difference is also >1 and the respective value will be displayed. Is that what you want?
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Distribution Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!