怎样从MATLAB图形文件fig中提取数据

来自:    更新日期:早些时候
怎样从MATLAB图形文件fig中提取数据~

用MATLAB编程时,常常遇到这样的问题,图形保存了下来,但数据却没有保留。MATLAB的图形相当于一个嵌套的结构(对象),可以通过各种属性来访问其中的数据。下面这段程序可以用来从图形中把数据找回来,这是一个从曲线中提取一维数组的例子。% fnam是文件名open('fnam.fig');% 取出曲线的handle,这里gca表示当前图形的CurrentAxes属性% 如果图中有多条曲线,lh为一个数组lh = findall(gca, 'type', 'line');% 取出x轴数据xc = get(lh, 'xdata');% 取出y轴数据yc = get(lh, 'ydata');也可以把图形保存下来,然后用import命令导入,所有属性会被存储为变量,可以直观的寻找到所需要的数据。一般数据是存在children里面的properties的xdata和ydata,类型type是line,或者是在cdata内。

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,'result.jpg'); 这种方法保存图像大小和显示的大小事一样的。
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,‘myfig.jpg’) 。
(4)set (gcf,'Position',[500,500,500,500], 'color','w') 。
5、print函数
print函数原本不是用来进行图像保存了,而是操作打印机的,但是这里我们可以借用下。


(1)% print(figure_handle,fileformat,filename) 。

(2)x=-pi:2*pi/300:pi。
(3)y=sin(x)。
(4)plot(x,y)。
(5)%Matlab根据文件扩展名,自动保存为相应格式图片,另外路径可以是绝对也可以是相对。
(6)print(gcf,'-dpng','abc.png') %保存为png格式的图片到当前路径。

用MATLAB编程时,常常遇到这样的问题,图形保存了下来,但数据却没有保留。MATLAB的图形相当于一个嵌套的结构(对象),可以通过各种属性来访问其中的数据。下面这段程序可以用来从图形中把数据找回来,这是一个从曲线中提取一维数组的例子。 % fnam是文件名 open('fnam.fig'); % 取出曲线的handle,这里gca表示当前图形的 CurrentAxes属性 % 如果图中有多条曲线,lh为一个数组 lh = findall(gca, 'type', 'line'); % 取出x轴数据 xc = get(lh, 'xdata'); % 取出y轴数据 yc = get(lh, 'ydata'); 也可以把图形保存下来,然后用import命令导入,所有属性会被存储为变量,可以直观的寻找到所需要的数据。一般数据是存在children里面的properties的xdata和ydata,类型type是line,或者是在cdata内。


怎样从MATLAB图形文件fig中提取数据视频

相关评论:
  • 18011323699使用matlab怎么从一副图像如 lena.jpg 读取到 结构矩阵啊 ?
    计溥薇f=imread('c:\\lena.jpg');%假设你的lena.jpg在c盘根目录下 f就是一个三维矩阵,分别存放RGB值

  • 18011323699matlab怎么使用?
    计溥薇1. 读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。比如 2. >> f = imread('chestxray.jpg');读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果图片是彩色的,可以用rgb2gray转换成灰度图:>> f = rgb2gray(f);然后可以用size函数看图像的...

  • 18011323699用MATLAB如何读取一个文件夹里的图片
    计溥薇主要使用了imread函数,for循环指令,即函数imread用于读取图片文件中的数据,for用于读取所有图片。可以在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。clear;clc[f,p]=uigetfile('*.*','选择图像文件');if fA=imread(strcat(p,f));imshow(A);end下面这段代码实现文件...

  • 18011323699想用matlab打开一个文件夹,然后自己选取文件夹中一幅图像读取
    计溥薇[filename, pathname] = uigetfile('*.jpg', '读取图片文件'); %选择图片文件if isequal(filename,0) %判断是否选择 msgbox('没有选择任何图片');else pathfile=fullfile(pathname, filename); %获得图片路径 M=imread(pathfile); %将图片读入矩阵 image(M); %绘制图...

  • 18011323699matlab中F上面一点怎么打
    计溥薇Matlab的text\/title\/xlabel\/ylabel对象支持简单的TeX排版语法。如希腊字母,上下标等例如text(0.5,0.5,'alpha^beta_2');Matlab图形中允许用TEX文件格式来显示字符。使用bf,it,rm表示黑体,斜体,正体字符,特别注意大括号{undefined}的用法。希望我的回答能帮到你。

  • 18011323699matlab的f[0,1]),怎么理解?这里的'humps'什么意思?
    计溥薇当你看到fplot('humps',[0,1])时,它指示函数将绘制'humps'函数在自变量x的取值范围从0到1之间的图像。'humps'是一个内置示例函数,用来展示MATLAB图形生成的能力。这个函数的具体实现可以通过查找MATLAB安装目录下的'humps.m'文件查看,它的函数表达式是y = 1 .\/ ((x-.3).^2 + .01) + 1 ...

  • 18011323699怎么在matlab图形的标题中输入下标和公式
    计溥薇1、首先打开matlab,接着画一个图像,这里以sinx为例子进行画图。2、然后找到insert 选项。3、然后插入一个文本框,对于插入也可以插入其他的,例如箭头等等。4、然后移动鼠标,在图片上画一个方框。这样就可以输入文字了。5、然后输入文字:F_1 或者F_{1,2} 注意如果是多个下标就用大括号括起来。

  • 18011323699matlab中fprintf函数的用法详解
    计溥薇>> a='string'>> fid=fopen('d:\\char1.txt''w');>> fprintf(fid,'%s'a);>> fclose(fid);>> fid1=fopen('d:\\char1.txt''rt');>> fid1=fopen('d:\\char1.txt''rt');>> b=fscanf(fid1,'%s')b =stringmatlab读txt文件fid=fopen('fx.txt''r');%得到文件号[f,count]=...

  • 18011323699Matlab文件夹、文件、读取操作(汇总)
    计溥薇‘a’:在打开的文件末端添加数据。文件不存在则创建。‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 如果rt表示该文件以文本方式打开,如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。Fopen函数两个返回值:fclose(f)f为打开文件的标志,若fclose函数返回值...

  • 18011323699MATLAB中怎么调用在不是默认路径的.m文件
    计溥薇“cd”命令切换当前路径。如果知道你要调用的m文件路径,比如是在F盘下的fun.m ,可以输入 cd f:\/fun.m 切换路径 然后直接在命令窗口输入 fun 就可以执行了。

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网