%%
clear; clc; close all;
global iii
iii = 0;
period = 5; % 秒
nvar = 50;
frequency = 128;
temp1 = now;
stoptime = datenum(datestr(now+(1/24/3600)*period, 'yyyy-mm-dd HH:MM:SS.FFF'),'yyyy-mm-dd HH:MM:SS.FFF');
fid=fopen('generate_highf.txt','w');
fprintf(fid,'%-25s','time');
for i = 2:1:nvar
fprintf(fid,'%-25s',['var' num2str(i)]);
end
fprintf(fid, '\n');
t=timer(...
'Name','MyTimer', 'TimerFcn',@ExecuteTask, 'ErrorFcn',@ExecuteError,...
'StopFcn', @ExecuteStop, 'Period',1/frequency, 'ExecutionMode','fixedrate',...
'UserData', [fid stoptime nvar temp1 frequency]...
);
t.start();
function ExecuteTask(obj,eventdata,UserData)
global iii;
iii = iii + 1;
fid = obj.UserData(1);
if now < obj.UserData(2)
fprintf(fid, '%-25s', datestr(now - obj.UserData(4), 'HH:MM:SS.FFF') );
% fprintf(fid, '%-25.8f', now);
for i = 2:1:obj.UserData(3)
fprintf(fid,'%-25.16f',sin( iii / obj.UserData(5) * 2 * pi * (i-1))); % (rand(1)-0.5) * 1 +
end
fprintf(fid, '\n');
else
obj.stop();
end
end
function ExecuteStop(obj,UserData)
'stop'
fid = obj.UserData(1);
fclose(fid);
end
function ExecuteError(obj,eventdata)
'error'
end
Matlab 生成时间序列数据,存于TXT文本(version_2)
最新推荐文章于 2024-06-11 17:38:07 发布