在Python编程语言的应用的过程中,如果你想通过Python编程语言调用Matlab绘制保存数据,你可以参考我们以下的文章对其有一个详细的了解,以下是文章的的主要内容。望你能有所收获。

调用Matlab绘制保存数据
最近我做实验时需要把得到的数据用Matlab绘图并保存下来。一个小问题是原始的数据文件中不仅有数据还有一些注释的部分(注释部分在数据之前,每行以#开头)。直接用Matlab绘图比较麻烦,因为不能直接处理数据,所以或者要把数据单独提取出来,另存成一个文件。
或者就要用Matlab写一个过滤文本的程序。不过Matlab处理文本并不是它的强项。 所以这两个办法我都不很满意。Python再次给我提供了解决的方案。一方面Python编程语言具有很强的文本处理能力,另一方面Python对Matlab这种交互式的程序提供了直接调用的的途径,所以写一个Python脚本来完成这一任务无疑是比较合适的。下面是实现的代码:
     
     
     
      
      
      - import os  
 
      
      
      - import string  
 
      
      
      - 1filepath = "d:\\\\exp\\\\chgeff_lar_1" 
 
      
      
      - 2filename="chgeff_lar_1" 
 
      
      
      - 3id = open(filepath, 'r')  
 
      
      
      - 4lines = fid.readlines()  
 
      
      
      - 5fid.close()  
 
      
      
      - 6x = []; y = []  
 
      
      
      - 7for line in lines:  
 
      
      
      - 8if line[0]=="#" or len(line)==1:  
 
      
      
      - 9continue  
 
      
      
      - 10else:  
 
      
      
      - 11xval, yval = string.split(line)  
 
      
      
      - 12x.append(float(xval))  
 
      
      
      - 13y.append(float(yval))  
 
      
      
      - 14id = open(filename+'.m', 'w')  
 
      
      
      - 15fid.write("""  
 
      
      
      - 16x = %s  
 
      
      
      - 17y = %s  
 
      
      
      - 18plot(x, y)  
 
      
      
      - 19xlabel('Particle diameter (nm)')  
 
      
      
      - 20ylabel('Charging efficiency')  
 
      
      
      - 21print -deps  %s.eps  
 
      
      
      - 22pause(10)  
 
      
      
      - 23"""  %  (x, y, filename))  
 
      
      
      - 24fid.write("exit")  
 
      
      
      - 25fid.close()  
 
      
      
      - 26cmd = "d:\\\\matlab6p5\\\\bin\\\\win32\\\\matlab.exe -nodesktop -r  " + filename  
 
      
      
      - 27os.system(cmd)  
 
     
     
      
 | 
 以上6-13句实现两个功能,一是过滤文本(8-9句),通过检查每一行的第一个字符及行的长度,把注释行和空行给去掉。二是把读到的每一行数据自动分配到两个变量x,y中(10-13句)。然后Python把一组Matlab代码(16-24句)写到文件filename.m中。最后利用os模块的system函数调用Matlab绘图及保存(26-27句)。从这个例子也可以看出,Python编程语言和其他语言协同工作的能力是比较强的。
【编辑推荐】
- Python正则表达式十种相关的匹配方法
 
- Python字符串替换如何才能进行字符的拆分
 
- Python文本乱码发生时的解决方案
 
- Python编程语言总体性能优点评测
 
- Python编程语言具有相当高的适应能力
 
  
            
            本文标题:Python编程语言中调用Matlab绘制保存数据的方案            
            地址分享:
http://zsjierui.cn/article/cdsggdd.html