函数:
系统操作类:
1、clear : 清除变量内容
2、clc : 清除命令行窗口内容
输入输出类:
1、disp( ) : 形同Python中print函数,需要打印的内容放入 ’ ’ 内,若需要打印的内容中包含变量,如 num2str (n)与 ’ 123 ’ 需要使用 [ ]
包住,连接各输出内容时不需要 ’ + ’ 号
2、input : 使用方式与Python中大致相同,需要打印内容时方式与disp一致,输入多个值时需要使用 [ , , ] 分隔开,输入字符串时使用 ’ ’
图像输出类:
1、plot ( x1, y1, t1, x2, y2, t2, … ) : 以 x 中的数据为横坐标,y 中的数据为纵坐标,绘制二维曲线,t 接受字符串,用于设定所作的图中曲线或者描点的形式,例:若 t 为 ‘r-’, 则图中所有的点按变量 x 中数据从左到右的顺序用红色实折线相连,若为 ‘bo’ ,则输出为蓝色圈圈 ‘o’,
该函数能接受多组数据,线型默认为黄色实折线
线型包括有:
还可以修改其他图象属性:
用法示例:
plot (x, y, 'o', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'r' , 'MarkerSize', 10) %设定标记点边缘颜色为黑色,用红色填充,大小为10
2、图形标注 :
(1)title ( ‘text’ ) : 图形标题
(2)xlabel(’text’)ylabel(’text’): 坐标轴名称
(3)text ( x, y, ‘text’ ) : 在点( x, y ) 处标记
逻辑类:
1、for : 用法:
for i = A
<语句1>
<语句2>
...
<语句n>
end
其中 A 为任一矩阵,循环第 n 次时,i 的值为A从左到右第 n 列的列向量,即A = [ 2, 3; 4, 5 ] ,循环时,i1 = [ 2; 4 ] , i2 = [ 3; 5 ]
2、if 语句 :
例:
if <判断语句>
elseif <判断语句>
<代码>
elseif <判断语句>
<代码>
else
<代码>
end
矩阵操作与运算类:
1、size ( ) :
(1)s = size ( X ) :
当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是矩阵A的行数,第二个元素是矩阵A的列数。
(2)[ r, c ] = size( X ) : X
当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。
(3)size( A, n )
如果在size函数的输入参数中再添加一项n,并用 1 或 2 为 n 赋值,则 size 将返回矩阵的行数或列数。其中 r = size ( A, 1 )该语句返回的时矩阵A的行数, c = size ( A, 2 ) 该语句返回的时矩阵A的列数
2、X ( :, n) : 获取变量 X 中第 n 列的全部元素,返回第 n 列的列向量
3、X ( n ) : 获取变量 X 中第 n 个元素,以列来计数,即:A = [ 1,3; 2,4 ] 时 ,当 n = 1, 2, 3 时分别输出 1, 2, 3
4、sum ( X, n ) : 接受矩阵输入,输出行向量,其中每个元素为相应列的所有元素的和,不传入 n 时默认为1,传入 n = 2 时对行求和,输出列向量
5、max ( X ) : 接受矩阵输入,输出行向量,其中每个元素为相应列的最大的元素
6、min ( X ) : 接受矩阵输入,输出行向量,其中每个元素为相应列的最小的元素
7、repmat ( X, a, b, c, ., … ) : 通用型式 repmat (X, a, b, c, ., …) 输出一个矩阵,其中第一个参数可以看作新矩阵的基本单位,接受任意有效变量
后面的a,b,c,d,…接受整数输入,为 n 维矩阵的秩,也可以在第二个参数中输入一个整数行向量或整数标量 [ a, b, c, …] 作为n维矩阵的秩
8、magic ( n, m ) : 生成幻方矩阵,magic ( n, m ) n 和 m 分别为所生成幻方矩阵的行和列,若只输入一个大于或等于3的标量参数 n,则生成 n * n 的幻方矩阵
4 * 4 幻方矩阵示例:
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
矩阵由数字 1 至 n * m 组成,且每一列所有元素的和相等
9、sort ( X, a ) : 参数 X 传入矩阵,参数 a 可传入 " ‘descend’, 1, 2 ", 当不传入时默认为 1,此函数将矩阵 X 的每一列按照从小到大排列后输出新的矩阵,传入 2 时,把每一行从小到大排序,传入 ‘descend’ 时,把每一列从大到小排序
10、运算符:在 MATLAB 中 其基本运算符与 Python 大致相同,但涉及矩阵运算时,若需要进行矩阵单个元素计算时,需要在算符前加 ’ . ’ 如:X .* y 表示矩阵X中每个元素都与y相乘,X * Y 表示矩阵 X 与矩阵 Y 相乘
数据类型转换类:
1、num2str ( ) : 接受数字及矩阵输入,输出对应字符的字符串类型数据
语法:
1、定义一个新函数时,要单独新建一个 .m 文件,文件名即为函数名,调用时需要与主函数在同一目录下
例:
function [x,y,z] = function_test(a,b,c)
其中 [ x, y, z ] 为输出矩阵,( a, b ,c )为输入参数,函数可接受任意数量参数输入、
2、end : 在 for 语句 if 语句 while语句或 定义函数的末尾需要加上 end 语句表示结束
3、冒号使用 : 在 MATLAB 语句中,不需要像 Python 那样在 if 语句等后面加上冒号
4、赋值符 : 与 Python 一样均为 ’ = ’
5、判断符 : 除了 ’ 不等于 ’ 为 ’ ~= ’ 之外,其余与 Python 相同
6、运算符:在 MATLAB 中 其基本运算符与 Python 大致相同,但涉及矩阵运算时,若需要进行矩阵单个元素计算时,需要在算符前加 ’ . ’ 如:X .* y 表示矩阵X中每个元素都与y相乘,X * Y 表示矩阵 X 与矩阵 Y 相乘
7、分号使用 : 在 MATLAB 中,任何赋值或者计算、判断语句,默认情况下都会输出相应结果,若想不输出结果,需要在语句后面加上
’ ; ’ 符
8、载入数据 : 可以使用 load 载入保存在 mat 文件中的矩阵数据,mat 文件需要与主函数在同一目录下
例:
load text.mat
以上便是目前我收集到的部分MATLAB语句与Python语句的不同与相同点,若收集到新的将会继续以文章的形式记录下来