exctract data from 50 curves in .fig
1 次查看(过去 30 天)
显示 更早的评论
I have a x-y plot including almost 50 curves.
I can extract the data for the single curve, but I get error if I use the 'for '. Indeed the final file is a collection of zeros
clear all;
close all;
clc;
fig=openfig('*.fig');
for i=1:50
dataObjsY = findobj(fig,'-property','YData');
yi = dataObjsY(i).YData;
dataObjsX = findobj(fig,'-property','XData');
xi= dataObjsX(i).XData;
A=[];
A(:,i)=xi;
A(:,i)=yi;
dlmwrite('datatoday.txt',A,',');
end
0 个评论
采纳的回答
Star Strider
2022-7-30
The argument to openfig should be a single .fig file, so supply the appropriate information for ‘filename’ here.
Other than that, this should work —
fig=openfig('filename.fig');
Ax = gca;
Lines = findobj(gca, 'Type','Line');
for k=1:numel(Lines)
xv{k} = Lines{k}.XData;
yv{k} = Lines{k}.YData;
end
Assigning them to cell array elements is necessary because they may not all be differnt sizes or orientatioons.
Make appropriate changes to work with your files.
.
4 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!