
1、在命令行运行figure打开一个空白窗口。
2、在工具栏或者菜单中选择open打开你保存的fig文件,会显示出原来的那个图来。
3、在命令行运行obj = get(gca,'children')。这个结果对应你的图里面的线或者面的句柄,有几条线就对应几个句柄。
4、根据你需要的是哪条线,第n条线句柄就是obj(n),如果只有一个对象直接用obj就可以,
然后再用一次get。
x=get(obj(1), 'xdata')。
y=get(obj(1), 'ydata')。
如果是三维图,再加上个z=get(obj(1),'zdata')。
x、y、z就是你所需要的坐标数据
Matlab中保存的5种方法
1、使用imwrite 函数。
使用 imwrite(img,'resultjpg'); 这种方法保存图像大小和显示的大小事一样的。
2、直接另存为在figure中使用菜单file——>saveas——>选择保存形式。
(fig,eps,jpeg,gif,png,bmp等),这个的缺点是另存为的图像清晰度有很大的牺牲
3、复制到剪贴板在figure中使用菜单edit——>copy figure——>此时图像就复制到剪贴板了,我们可以借助其他软件(比如:绘图板)保存为需要的。
4、saveas命令格式Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于文件中的另存为。
(1)% saveas(figure_handle,filename,fileformat) 。
(2)plot(1:10)。
(3)saveas(gcf,‘myfigjpg’) 。
(4)set (gcf,'Position',[500,500,500,500], 'color','w') 。
5、print函数
print函数原本不是用来进行图像保存了,而是 *** 作打印机的,但是这里我们可以借用下。
(1)% print(figure_handle,fileformat,filename) 。
(2)x=-pi:2pi/300:pi。
(3)y=sin(x)。
(4)plot(x,y)。
(5)%Matlab根据文件扩展名,自动保存为相应格式,另外路径可以是绝对也可以是相对。
(6)print(gcf,'-dpng','abcpng') %保存为png格式的到当前路径。
1。如果你是用编程的话,可以用matlab提供的fft函数分析,下面是给你举个例子:
给定数学函数:x(t)=12sin(2pi10t+pi/4)+5cos(2pi40t)
程序如下:
N=128; %采样点数
T=1; %采样时间终点
t=linspace(0,T,N); %给出N个采样时间ti(i=1:N)
x=12sin(2pi10t+pi/4)+5cos(2pi40t); %求各采样点样本值x
dt=t(2)-t(1);
f=1/dt; %采样频率(Hz)
X=fft(x); %计算x的快速傅里叶变换X
F=X(1:N/2+1); %
f=f(0:N/2)/N; %使频率从零开始
plot(f,abs(F)) %绘制振幅—频率图
xlable('Frequency');
ylable('|F(K)|');
运行后可得下图:
从图中可以看出幅值曲线上有两个峰值,分别对应给定函数的两个频率值(10和40HZ)。
2。如果你用的是simulink仿真的话,那就更容易了,simulink里的simpower system里有一个powergui模块,它可以对你的波形进行直接的傅里叶分析,从它那里可以直接读出各谐波分量的大小情况。是个及其好用的模块哦!
希望我的解答能够帮助你!!!
以上就是关于MATLAB中*.fig图像怎么提取数据全部的内容,包括:MATLAB中*.fig图像怎么提取数据、matlab如何提出谐波成分、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)