本人2010年读研时
学的是MATLAB
习惯了它的IDE
代码调试非常方便
不得不说
MATLAB的IDE是我到目前为止
用过最好用的IDE
没有之一
当然了,喜欢它还有其它一些原因
比如帮助文档、教程相当丰富
工具箱多
而且,商业软件嘛
release之前经过充分测试,bug少。
(软件的费用问题咱就不讨论了
你懂的 )
所以,如果你是科研民工
用MATLAB是再合适不过了
曾经有人这么调侃:
别人用MATLAB写代码去验证思想
paper都被接受了
你可能还在Python里苦苦折腾
被某个野鸡轮子里的bug折腾得死去活来
当然了,Python也有它的很多优点
比如开源库多、
IT届认可度高于MATLAB等等
本文不讨论MATLAB和Python
这两个工具孰优孰劣
因为,类似
《为什么“X语言”比“Y语言”更好》
这样的月经贴网上已经足够多了
这里也没必要再讨论
我认为只要根据项目选择合适的工具即可
两者各有优势
没必要非争出个高下不可
要是大家感兴趣
下面评论区一起吹吹牛逼倒是挺好
之所以写这篇文章
主要是由于
本人在写一些小程序的过程中
发现Python有完成某些功能的程序包
但MATLAB没有,咋办?
下面要讨论的就是如何在MATLAB中调用Python
结合两者的强项
不过,想要互相调用的话
电脑上必须同时装上MATLAB和Python
(最好是相同位数的版本,同是32或64bit)
装好后,在MATLAB命令窗口输入pyversion命令
如果出现类似下图的结果
说明安装成功
下面
以selenium库为例
演示MATLAB调用Python的过程
selenium库能模拟浏览器的人工点击
做一些自动化测试
还可以用来写一些抓取量不大的小型爬虫
(数据抓取量大的不建议用这种方式)
Ok,废话不多说
上代码
% 单引号内的是 模块名字
% 其它模块可以用类似方法调用
mod =py.importlib.import_module('selenium.webdriver');
EC =py.importlib.import_module('selenium.webdriver.support.expected_conditions');
By = mod.common.by.By;
% 创建浏览器对象
browser = mod.Chrome('chromedriver');
wait =mod.support.wait.WebDriverWait(browser,10);
% 浏览器转到 百度
browser.get('http:\\www.baidu.com');
% 等待浏览器将想要找的网页元素加载完毕
input_field =wait.until(EC.presence_of_element_located({By.ID,'kw'}));
% 找到输入框并往输入框填入内容
input_field.clear;
input_field.send_keys('MATLAB')
% 找到搜索按钮 并 模拟点击
search =wait.until(EC.presence_of_element_located({By.ID,'su'}));
search.click;
下图是以上程序的执行结果。
别忘了在运行以上代码之前,先去下载一个对应的chromedriver版本哈
(参考:http://npm.taobao.org/mirrors/chromedriver/)
并放到python安装目录下的Scripts文件夹中(其实只要是在 windows 环境变量 下定义过的路径都行)
Ok 本文结束