필터 지우기
필터 지우기

Please help me to position the starting and ending point of data

조회 수: 2 (최근 30일)
Rakesh Yadav Kodari
Rakesh Yadav Kodari 2019년 2월 4일
편집: Adam Danz 2019년 2월 5일
Hello all,
I have a long set of data I need to set starting and ending position of data.
Starting position is at "M"
ending is at "I"
I need to cut all the data Starting from "M" to ending "I" and place it in to new vector.
  댓글 수: 4
Rakesh Yadav Kodari
Rakesh Yadav Kodari 2019년 2월 5일
Hello all the data is HEXDEC
Look at the example:
Frames= M0400FEC9F93DF7EA02AFF9F308540209041B0746FA8B0351F671FAD0FC92F69706E9FCAC08EA05AB00430745F6AEFEA4F8F3F8100189F8CA087C002A064C0725FBC70382F722FAE6FDAEF8AE04D6FCA206BB0245024B0508FA5DFFBEFA84F9CB020CFBCF04FCFF9FBFF8B008FFFF70154016F0089037CFD720227FD06FF42FFE6FF16014E00AC00EE027DFEE5031AFCB0|
How can i know the position of the M and | ? and I need to divide every 4 datas in the whole frame.
for example size = Frames(1:4);
Length = Frames(5:8); ........so on but its too long any other option?
Gani
Gani 2019년 2월 5일
Example:
str = 'M0400FCFFFAF2F7D1046DFB3808A2039B02830741F8DB01A2F6EDF94DFECEF73A083DFE6D0826069EFE540659F5D5FCE2FA71F7BE0346F9D608D3018D05250794FA02022FF727F9B2FF5FF924059FFD5806D1035700FB050BF8FDFE4CFB20F93B0336FC520520000E032A0250FE99010DFBFCFCB8FFADFC0E0365FEE20124FFB10151FF2A006D002EFFFE019401F7FF9D02DEFDCF0112FE92FFD2FFF7FFC1013200AF013802C9FEAC02FFFCBB0011FECEFEDA01080003015501DBFFE30330FD56|';
posofM = strfind(str, 'M');
posofLast = strfind(str, '|');

댓글을 달려면 로그인하십시오.

채택된 답변

Gani
Gani 2019년 2월 5일
Example:
str = 'M0400FCFFFAF2F7D1046DFB3808A2039B02830741F8DB01A2F6EDF94DFECEF73A083DFE6D0826069EFE540659F5D5FCE2FA71F7BE0346F9D608D3018D05250794FA02022FF727F9B2FF5FF924059FFD5806D1035700FB050BF8FDFE4CFB20F93B0336FC520520000E032A0250FE99010DFBFCFCB8FFADFC0E0365FEE20124FFB10151FF2A006D002EFFFE019401F7FF9D02DEFDCF0112FE92FFD2FFF7FFC1013200AF013802C9FEAC02FFFCBB0011FECEFEDA01080003015501DBFFE30330FD56|';
posofM = strfind(str, 'M');
posofLast = strfind(str, '|');

추가 답변 (1개)

KSSV
KSSV 2019년 2월 5일
편집: KSSV 2019년 2월 5일
Frames= 'M0400FEC9F93DF7EA02AFF9F308540209041B0746FA8B0351F671FAD0FC92F69706E9FCAC08EA05AB00430745F6AEFEA4F8F3F8100189F8CA087C002A064C0725FBC70382F722FAE6FDAEF8AE04D6FCA206BB0245024B0508FA5DFFBEFA84F9CB020CFBCF04FCFF9FBFF8B008FFFF70154016F0089037CFD720227FD06FF42FFE6FF16014E00AC00EE027DFEE5031AFCB0|' ;
p0 = strfind(Frames,'M') ;
p1 = strfind(Frames,'|') ;
S = Frames(p0:p1) ;
iwant = reshape(S(1:100),4,[])' ;
To reshape,,you need to have comaptibility with elements. Read about reshape
  댓글 수: 6
Rakesh Yadav Kodari
Rakesh Yadav Kodari 2019년 2월 5일
This is the ans for the above code :
val =
'1357'
'2468'
I want 12
34
56
78
Adam Danz
Adam Danz 2019년 2월 5일
편집: Adam Danz 2019년 2월 5일
KSSV's solution is doing what you want it to do

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Embedded Coder에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by