1.小常识
使用%来进行注释,同时可以使用ctrl+R来进行多行注释,ctrl+T进行多行取消注释。
clc 和clear 分别用来清除命令窗口和工作区的所有变量。
其中分号用来区分行,在代码后面加上分号,在命令窗口出不会显示出来。
2.常用函数
disp()函数
类似于C语言中的printf函数,使用个输出函数。eg:
a=[1,2,3,4,5];disp(a)
a=[1,2,3;4,5,6]-----使用分号来分割行,逗号或者空格来分割列。
strcat()函数
这是一个字符串函数
stract('参与‘,'参与')------这样就可以合并连个字符串。
或者使用 ['参与','参与'] -------这样也可以合并。
num2str()函数
这个可以将数字转换为字符串。
c=100;
num2str(c)
disp(['c的取值为:',num2str]) -------这里合并因为num2str已经将数字转化为字符串了 所以没有必要来加' '符号。
input函数
这个类似于c语言中的scanf函数
eg:A=input('请输入A:');
B=input('请输入B:')
sum()函数
这个类似于R语言中的sum函数求和。但是在处理矩阵的时候又有点不一样的。
E=[1,2,3;4,5,6]
a=sum(E) %这个样子是默认每列求和,在R语言中是默认行求和。
a=sum(E,2) %按行来求
a=sum(E,1) %按列来求
因为默认不一样,所以R语言和MATLAB不一样。
size()函数
E=[1,2,3;4,5,6]
size(E) %其输出结果为第一个数表示的是行数,第二个数表示的是列数。
repmat()函数
A=[1,2,3;4,5,6;7,8,9]
B=repmat(A,2,3)
其输出结果为:可以把A看成一个块,则B=[A,A;A,A,;A,A]就是一个复制矩阵。
prod()函数
和前面的sum函数是一致的,就是从求和变成所有数字相乘。
3,。提取矩阵元素(和python里面差不多的)
A=[1,2,3;4,5,6;7,8,9]
A(1,2) %提取第一行第二列的元素。
A(2,:) %提取第二行所有元素
A(:,2) %提取第二列的所有元素
A([2,5],:) %只取第二行和第五行。
A(2:2:5) %只提取第二行和第四行的元素
A(2:5,:) %值提取二到五行的元素。
这里的提取和Python里面的差不多。
4.矩阵的运算。
A*B表示的是矩阵的乘法
inv(A)表示的是求A的逆矩阵
A/B表示的是A和B矩阵相除( 等同于A*inv(B) )
A.*B A./B A,^2表示的是两个矩阵对应元素相乘,相除和对应元素平方。
A^2=A*A.
使用eig(A)求A的特征值和特征向量。
[V,D]=eig(A)
然后V表示的是一个矩阵,每一个列向量都表示的是一个特征向量。
然后D表示的是一个对角阵,每一个每一列的数学代表的就是特征值。
使用find函数用于返回向量或者矩阵中的不为零的元素的位置。
[r,c]=find(A)
其中第一个数字代表行数,第二个数字代表列数。
若b=find(A) 则会将矩阵全部按列展开,然后再弄出位置来
会发现 像这种索引都是有一个数字和连个数字的。
矩阵中的判断
矩阵X
X>0 %表示的是X中大于0的数字,其中返回的是一个logic函数,就是逻辑回归函数。
5.判断语句
a=input('请输入分数')
if a>=85
disp('成绩优秀')
else if a>=60
disp('成绩合格')
else
disp('成绩挂科')
end
要注意的是使用if语句的时候,第一行是没有冒号的,而且最后一行是一定要加上end。
还有还有A'表示的是A矩阵的转置矩阵哦。