How to read a variable whose suffix changes randomly?

Hi,everyone!
I have met a problem when ran a M program.
For example,running the program will product a variable as 'a_1'.And the number '1' is random.
Now,I want to get the value of 'a_number' and apply to myself M program.
How to do?
Thanks.

4 Comments

clear;
clc;
time_1=0;
time_2=0;
time_3=0;
mdfimport()%It is M.file and products two signals: P01_Line_*and time_*.
% * is a random number
pause
if time_1~=0
linet=time_1;
pn=1;
elseif time_2~=0;
linet=time_2;
pn=2;
elseif time_3~=0
linet=time_3;
pn=3;
end
p11=sprintf('P01_Line_%d',pn);
P01=exist(p11);
if P01==1
linep0=eval(p11);
end
If I need to deal with different signals,using mdfimport will product many variables . Is there a better way?
@MT_jsmith: if you are using this FEX submission, then no, there is no better way because unfortunately the author made some bad design decisions, and instead of simply returning a structure they make all of the variables magically appear in the workspace. Basically their bad design decision forces you to write bad code.
However there is a simple solution: download this much better designed tool:
which lets you simply load into an output variable (a cell array):
data = importMDF3(...)
Note that the MATLAB Vehicle Network toolbox also supports reading MDF files:

Sign in to comment.

More Answers (0)

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Asked:

on 24 Aug 2018

Edited:

on 15 Mar 2019

Community Treasure Hunt

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

Start Hunting!