方法一
这是一种较为通用的方法:
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怎么提取数组中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)