计算式的输入 例子:log(tan(1))=0.4430,e=exp(1)
log(x)表示以e为底数,是不写e的,如果是以2为底数,就是log2(x)
变量的定义:不用声明。特殊字符(不可以作为变量名)有:MATLAB变量优先级:
如果我们先声明了一个变量cos,那么cos就暂时丧失了函数的功能。
例子:
>> cos='this string';
>> cos(8)(数组索引必须为正整数或逻辑值)不同于C和py
ans =
'r'(此处不执行cos的计算,而是输出cos字符串第八个字符)
PS:清空变量后可继续函数功能,代码:
>> clear cos
>> cos(4)
ans =
-0.6536
命令的输入:命令行窗口中输入命令,回车即执行该命令,并显示执行结果;命令以分号结束,再回车则执行该命令但不显示执行结果;shfit+回车则不执行该命令。
在输入行按⬆键,可以将之前的命令调用出来
数字格式:format指令,代码例子:
>> format long
>> pi
ans =3.141592653589793(下图附其他指令)
例子2:>> 3/13
ans =0.230769230769231
>> format rat
>> 3/13
ans =3/13
矩阵 行向量 [1 2 3] 列向量 [1;2;3] 矩阵 [1,2,3;4,5,6]
矩阵元素选取例子的代码
a=[1,2,3;4,5,6;7,8,9]
a =
1 2 3
4 5 6
7 8 9
>> a(4)从列开始数
ans =
2
>> a(2,3)和线代的矩阵一样
ans =
6
>> a([1 3 5])将第一个,三个,五个元素拿出来组成一个行向量
ans =
1 7 5
>> a([1 3;1 3])将两个行向量组成一个矩阵
ans =
1 7
1 7
>> a([1 3],[1 3])将第一行第三行,第一列第三列相交的四个元素组成一个矩阵
ans =
1 3
7 9
元素的取代
a(1)=[3]
a =
3 2 3
4 5 6
7 8 9
一些创立方法(类似python切片但有区别)
a=[1:5]
a =
1 2 3 4 5
a=[1:3;4:6]
a =
1 2 3
4 5 6
>> a(2,:)=[] 干掉第二行所有元素
a =
1 2 3
矩阵的合并例子
>> a=[1 2;3 4]
a =
1 2
3 4
>> b=[5 6;7 8]
b =
5 6
7 8
>> [a;b]竖向合并
ans =
1 2
3 4
5 6
7 8
>> [a b]横向合并
ans =
1 2 5 6
3 4 7 8
矩阵的运算 +-*/
加减乘符合线性代数运算
>> a.*b 点乘也符合线性代数运算
ans =
5 12
21 32
除就类似于线代里乘逆矩阵
>> a^2 就是a*a
ans =
7 10
15 22
>> a.^2 就是a.*a
ans =
1 4
9 16
>> a' 单引号表示转置
ans =
1 3
2 4
一些矩阵操作方法
>> max(a) 只会给出每一列中最大值
ans =
3 4
>> max(max(a))
ans =
4
>> sort(a) 将每列元素按大小排序
ans =
1 2
3 4
>> sortrows(a) 依据将每行第一个元素对行排序
ans =
1 2
3 4
>> size(a) 测量矩阵的强度,此为2x2矩阵,故输出2 2
ans =
2 2
>> length(a) 长度,也就是行数
ans =
2
>> find(a==3) 寻找并输出3的位置
ans =
2