Hello, I have a text output from a terminal program which reads data from a PID controller as shown below. How do I take the relevant data terms from the text and properly place them into respective arrays? Relevant data is essentially each numerical value
LOW FUEL EMPTY: 0 LOW FUEL UV: 217285
ERROR CODE: 0
selectiveModeSelect: 0
Set: 2322-210 = 2112 TempC: 179 StartTempC: 3 MaxTempC: 228 UserInputC: 0
adjusted_temp_c_display: 1935
StartTempC: 3 MaxTempC: 228 UserInputC: 0
blockNewSetpoints: 0
FlameStarted: 1
temp_threshold_reached: 1 ThresholdC: 183
Shutdown State 0 Duration 470/480
Glow plug: 0 Glow plug cycles: 1
temperature_reached: 1 temp_treshold_reached 1
Auger PWM: 128/255 RPM: 143 CCW: 1
AugerMaxReady 1
AugerReversed 0
Fan PWM: 255 RPM: 3780
PB: 60 Tu: 360 TablePtr: 42
P: -45
I: 756
D: -15
u: 695

댓글 수: 4

KSSV
KSSV 2022년 3월 10일
You can read the files line by line and use regexp on each line.
Walter Roberson
Walter Roberson 2022년 3월 10일
However, it is not clear to me how you would like the "2322-210" to be processed.
FID=fopen('File_name','w');
A=fscanf(FID,'%c');
fclose(FID);
Kp=regexp(A,'P:[+-]?\d+','match');
P=str2double(Kp)
So to begin would code look something similar? unsure of of the expression term as all values will be integers
FID=fopen('File_name','w');
That would ask to creat a new file named File_name or erase the content of an existing file with that name.
The file would be empty, and fscanf() would produce no data.
I suggest you consider fileread() or readlines()

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

답변 (1개)

Gagan Agarwal
Gagan Agarwal 2023년 11월 16일

0 개 추천

Hi Nicholas
I understand that you are trying to numerical value from a text file. This can be achieved by using 'regexp' function of MATLAB . This function is helpful for extracting specific patterns from text data, including the numerical values.
For additional information regarding 'regexp' function please refer to the following documentation:
I hope it helps!

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

제품

릴리스

R2021b

질문:

2022년 3월 10일

답변:

2023년 11월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by