matlab读取xml文件里面的数据并使用plot绘图

经过一周的学习,今天终于把xml文件里面的数据用matlab读取,并将字符型转换为double型,成功画出图形。

test.xml文件如下,包含一种节点<meanValue>,长度为13

<?xml version="1.0"?>
<opencv_storage>
<meanValue>4.3504226684570311e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3509033203124998e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3439079284667965e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3564590454101566e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3604904174804684e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3600425720214844e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3680847167968748e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3724212646484375e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3660362243652342e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3726913452148439e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3650627136230469e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3665702819824217e+000</meanValue>
 <!-- resumed -->

<meanValue>4.3624900817871097e+000</meanValue>
</opencv_storage>

matlab文件如下:

 clear all;
 clc;
   
 xmlDoc = xmlread('test.xml');   %读取opencv中xml文件,表示的是矩阵。
    
 meanValue_array= xmlDoc.getElementsByTagName('meanValue');  % 将所有meanValue节点放入数组meanValue_Array
for i = 0 : meanValue_array.getLength-1    % meanValue_Array.getLength 等于13
    meanValue= char(meanValue_array.item(i).getFirstChild.getData);    % 提取当前节点的内容,内容为char型
    num(i+1)=str2double(meanValue);   %将插入型转化为double型
    fprintf('%d %f \n',i+1,num(i+1));  %输出double型数据
end 
 bestvalue=max(num);  %
 a=num./bestvalue;  %归一化
 figure(2);
 plot(a,'-r+');
 xlabel('order');  
 ylabel('value');  
 title('test'); 
 fprintf('%f \n',bestvalue);  
 fprintf('%d \n',meanValue_array.getLength);   

运行结果:

猜你喜欢

转载自blog.csdn.net/timy_/article/details/81168682