matlab里如何将下图的数据读出来

matlab里如何将下图的数据读出来,第1张

方法一

这是一种较为通用的方法:

l=findall(0,'type','line','linestyle','-','color',[0 0 1]);

get(l,'xdata')

根据线型、颜色查找line对象,一般来说会得到多条line的句柄,然后根据数据的情况再判断。

例如,在我的系统上,得到结果:

>> get(l,'xdata')

ans =

[1x6 double]

[1x6 double]

[1x513 double]

[1x513 double]

很容易判断,后面两条线即为想要导出数据的线,然后就用get函数分别获取其坐标即可。

方法二

图中的mat文件为系统自带(SimPowerSystems模块),所以可以更简单的获取数据:

load hysteresis

plot(HTX_i,[HTY_a HTY_d])

其中HTX_i为横坐标数据,HTY_a和HTY_d分别为两条磁滞线的纵坐标数据。

在matlab中,查看Plot的数值点,即x,y坐标值的方法和 *** 作步骤如下:

1、首先,在图形界面窗口中,单击工具栏上的“Data Cursor”工具,然后在要查看其坐标值的数据点上单击鼠标左键即可,见下图

2、其次,选择“tools”菜单栏下的“Data Cursor”选项,见下图。

3、最后,最终效果如下图所示。 在所选数值点的右上角,将显示x和y坐标值,见下图。这样,问题就解决了。

在matlab中,取出矩阵中某一个值的方法如下:

1、对于二维数组

a(i,

j)

%

表示取出二维数组a的第

i

行,第

j

列的数据

a(:,

j)

%

表示取出二维数组a的第

j

列的所有数据

a(i,

:)

%

表示取出二维数组a的第

i

行的所有数据

2、多维数组的方法与二维数组类似(以三维数组为例):

b(i,

j,

k)

%

表示取出三维数组a的第k个二维数组的第

i

行,第

j

列的数据

b(:,

j,

k)

%

表示取出三维数组a的第k个二维数组的第

j

列的所有数据

b(i,

:,

k)

%

表示取出三维数组a的第k个二维数组的第

i

行的所有数据

b(i,

j,

:)

%

表示取出三维数组a的每个二维数组的第

i

行,第

j

列的数据

读入每一行,用正则表达式来查找:

clear all;

pat = 'DT=(<time>)SEC';

fr = fopen ('datatxt', 'r');

while feof(fr) ~= 1          

    str = fgetl(fr); 

    n=regexp(str,pat,'names');

    if(size(n,1)>0)

        time = str2double( n(1)time)

        fclose(fr);

        return;

    end

end  

fclose(fr);  

------------------

time =

    00500

以上就是关于matlab里如何将下图的数据读出来全部的内容,包括:matlab里如何将下图的数据读出来、在matlab中,怎么查看Plot的数值点,即x,y坐标值、matlab怎么提取数组中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9810706.html

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

发表评论

登录后才能评论

评论列表(0条)

保存