博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python编程语言中调用Matlab绘制保存数据的方案
阅读量:5748 次
发布时间:2019-06-18

本文共 1359 字,大约阅读时间需要 4 分钟。

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

调用Matlab绘制保存数据

最近我做实验时需要把得到的数据用Matlab绘图并保存下来。一个小问题是原始的数据文件中不仅有数据还有一些注释的部分(注释部分在数据之前,每行以#开头)。直接用Matlab绘图比较麻烦,因为不能直接处理数据,所以或者要把数据单独提取出来,另存成一个文件。

或者就要用Matlab写一个过滤文本的程序。不过Matlab处理文本并不是它的强项。 所以这两个办法我都不很满意。Python再次给我提供了解决的方案。一方面Python编程语言具有很强的文本处理能力,另一方面Python对 Matlab这种交互式的程序提供了直接调用的的途径,所以写一个Python脚本来完成这一任务无疑是比较合适的。下面是实现的代码:

  1. import os  
  2. import string  
  3. 1filepath = "d:\\\\exp\\\\chgeff_lar_1" 
  4. 2filename="chgeff_lar_1" 
  5. 3id = open(filepath, 'r')  
  6. 4lines = fid.readlines()  
  7. 5fid.close()  
  8. 6x = []; y = []  
  9. 7for line in lines:  
  10. 8if line[0]=="#" or len(line)==1:  
  11. 9continue  
  12. 10else:  
  13. 11xval, yval = string.split(line)  
  14. 12x.append(float(xval))  
  15. 13y.append(float(yval))  
  16. 14id = open(filename+'.m', 'w')  
  17. 15fid.write("""  
  18. 16x = %s  
  19. 17y = %s  
  20. 18plot(x, y)  
  21. 19xlabel('Particle diameter (nm)')  
  22. 20ylabel('Charging efficiency')  
  23. 21print -deps  %s.eps  
  24. 22pause(10)  
  25. 23"""  %  (x, y, filename))  
  26. 24fid.write("exit")  
  27. 25fid.close()  
  28. 26cmd = "d:\\\\matlab6p5\\\\bin\\\\win32\\\\matlab.exe -nodesktop -r  " + filename  
  29. 27os.system(cmd)  

以上6-13句实现两个功能,一是过滤文本(8-9句),通过检查每一行的第一个字符及行的长度,把注释行和空行给去掉。二是把读到的每一行数据自动分配 到两个变量x,y中(10-13句)。然后Python把一组Matlab代码(16-24句)写到文件filename.m中。最后利用os模块的 system函数调用Matlab绘图及保存(26-27句)。从这个例子也可以看出,Python编程语言和其他语言协同工作的能力是比较强的。

转载于:https://www.cnblogs.com/jeffkuang/archive/2012/01/06/2314256.html

你可能感兴趣的文章
python生产者消费者模型
查看>>
初识Linux工作环境
查看>>
cocos2dx 适合初学者的学习笔记【二】
查看>>
PHP正则获取字符串中数字
查看>>
azure存储压测的问题(农码主观意识太强被坑了)
查看>>
Android Activity生命周期
查看>>
解决ScrollView中嵌套 listView只显示1行的问题
查看>>
centos7配置iptables
查看>>
jQuery剥皮三- data、proxy、event
查看>>
MonGo---安装及其基本操作
查看>>
Nagios 监控实例部署
查看>>
实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序
查看>>
Microsoft System Center 2012部署(二)
查看>>
<转>CentOS / Redhat: Install KVM Virtualization ...
查看>>
原生android VS 定制android(一)
查看>>
修改Linux系统下的最大文件描述符限制
查看>>
CakePHP 2.x CookBook 中文版 第一章 欢迎
查看>>
Druid 在小米公司部分技术实践
查看>>
LNMP - 常见的502错误
查看>>
配置DNS服务器
查看>>