MATLAB中*.fig图像怎么提取数据

MATLAB中*.fig图像怎么提取数据,第1张

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如何提出谐波成分、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9459791.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存