十亩洞人分享 http://blog.sciencenet.cn/u/shimudongren 全球变化

博文

matlab和python语法对比(1)

已有 22355 次阅读 2014-7-19 13:31 |个人分类:程序语言|系统分类:科研笔记

一说到科学计算软件,一般联想到matlab,不过由于matlab是商业软件,价格不菲,学生版基础版也要99刀,一个工具箱29刀。如果不用crack的话,是一比不小的开支。市面上其它脚本语言的兴起,尤其是开源免费语言,例如pythonR,给科学计算带来的福音。以python为例,它不仅仅在科学计算上表现已经非常好的性能,它还是一门面向对象,用于其它工程,网络等开发的语言。如今python如日中天,2010年是TIOBE的年度语言。从TIOBE网站(http://www.tiobe.com/也可以看到,最近几年来python一直排在前10的位置。经常可以看到这样一个公式:

  python+NumPy+Scipy+matplotlib = matlab

   这是非常有吸引力的。详细比较下这2个语言,还是有一些差异,不过这两个语言都比较简单,而且非常好学。如果要支持正版,又不想付费,那还是用python吧。

   下面简单比较下2个语言的区别:

 

matlab

python

逻辑行和物理行

用分号“;

disp(‘hello’);disp(‘yes’)

用分号“;

print “hello”;disp(‘yes’)

缩进

无要求,但是要程序有逻辑,清晰最好有缩进,尤其是同一层次用相同的缩进数目。

用缩进表示程序逻辑,要求同一层次的代码必须有相同的缩进空白数目,否则报错。

def myfun1(a,b):

c=a+b

return c

 

def myfun2(a,b):

   c=a+b

   return c

注释

%

#

续行

条件语句

if condition

elseif  condition

else

end

if  condition :

elif  condition:

else:

循环语句

for number  = 1:n

 

end

 

while  condition

end

 

break 跳出整个循环

continue  跳出该次循环

for  number in range(1,n) :

 

while :

 

break 跳出整个循环

continue  跳出该次循环

函数定义

function  [output]=name(parameters)

end

def name(parameters):

 return output

运算符

+-*/,^

+,-,*,/,**

 

逻辑运算

>,<,>=,<=,==~=

>,<,>=,<=,==,!=

布尔运算

&&&

|||

~

and

or

not

开始索引

1

0

整除问题

/直接取得准确结果

如,5/3

结果是1.6667

/两边是整数时候为整除

5/3

结果是1

 

数据结构

矩阵

结构体struct

patient.name  = 'John Doe';

patient.billing  = 127.00;

patient.test  = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];

元胞数组cell

 

列表list

mylist=[‘apple’,’mango’,’carrot’,’banana’]

字典dic

ab = { 'Swaroop' :'swaroopch@byteofpython.info',

'Larry' : 'larry@wall.org',

'Matsumoto' : 'matz@ruby-lang.org',

'Spammer' : 'spammer@hotmail.com'}

元组

zoo =  ('wolf', 'elephant', 'penguin')

 




 




https://blog.sciencenet.cn/blog-437026-812967.html

上一篇:一些MATLAB的编程规范总结1.0版
下一篇:Python安装其它库的步骤和问题解决方案汇总
收藏 IP: 159.226.111.*| 热度|

5 刘淼 斯幸峰 蒋迅 王世喜 Vetaren11

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-18 20:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部