setting Simulink data view tolerance progamatically
이전 댓글 표시
is it possible to to set the tolerance used by the SDI programatically? for example,assuming i have some .mat files called alldata_b, and alldata from separate simulink runs.
runID5 = Simulink.sdi.createRun('alldata_b','file','alldata_b');
runID6 = Simulink.sdi.createRun('alldata', 'file','alldata');
diffSDI_tmp = Simulink.sdi.compareRuns(runID5, runID6);
% Number of comparisons in result
cntSigCmp_tmp = diffSDI_tmp.count;
% Iterate through each result element
for i = 1:cntSigCmp_tmp
% Get signal result at index i
sigDiff_tmp = diffSDI_tmp.getResultByIndex(i);
sigNam_tmp = Simulink.sdi.getSignal(i); % create the object first
sigNam_tmp = sigNam_tmp.signalLabel; % get the object from the object
sigDiff_tmp.tol = 1;
end
the line "sigDiff_tmp.tol = 1;" gives the following result:
You cannot set the read-only property 'tol' of DiffSignalResult.
Error in <my_script> (line X)
sigDiff_tmp.tol = 1;
does this mean the only way to change the tolerance is by editing in the SDI? is there no way around this?
채택된 답변
추가 답변 (1개)
William R
2018년 8월 24일
But what is not answered in this post is how to set the time tolerance programmatically of a signal. This can be done manually in the SDi but if you store a Simulink.sdi.Signal to the workspace there is no timeTol property and you can also not add or edit this. If you try to add it the following error pops up:
No public property TimeTol exists for class Simulink.sdi.Signal.
Why is this not possible? Or is there another way to do this?
카테고리
도움말 센터 및 File Exchange에서 Analyze Simulation Results에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!