matlab基础
一、数据类型、输入和输出
1.1数据类型
- 无穷:inf
- 非数字:NaN
- 圆周率:pi
- 字符串:‘dcd’
- 字符串数组:char(‘dcd’,‘yyds’)
- 整型:uint8、uint16、uint32、uint64、int8、int16、int32、int64
- 查看最值:intmin(‘int8’) intmax(‘int64’)
- 浮点数:double()、single
- 浮点精度:eps(‘single’) realmin(‘single’) realmax(‘single’)
1.2变量
- 运算符:±*/^
- 变量赋值:x=15(whos查看所有变量)
- 变量打印:x
- 变量命名:字母开头最长63字符
- 查看内置变量:iskeyword
1.3常用内置函数
- 开方:sqrt()
- 开n次方:nthroot(x,n)
- 指数:exp(x)
- 绝对值:abs()
- 对数:log(x),log10(x)
- 三角函数:sin(x),sind(x),cos(x)
- 近似函数:就近取整round(x),向零取整fix().向上取整ceil,向下取整floor(),取余rem()
- 清除内存变量:clear x y z、clear all、clc
- 查看内存中的变量:who、whos
二、向量和矩阵
2.1向量
- 行向量:[1 2 3 4]或者[1,2,3,4]
- 列向量:[1;2;3]
- 行向量转列向量:a=b’
- 查看大小:size(A),length(A)
- 切片表达式:A(1:1:3)–>(2,3,4)注意下标是从1开始的
- 创建线性分布的向量:
1:2:100–>从1开始以2为间隔,取到100
linspace(1,100,99) - 跨行表达式:…
- 标量与向量运算:常规运算符
- 向量与向量运算:运算符前加点,比如.+例: [1,2,3].+[4,5,6]=[5,7,9]
2.2矩阵
- 矩阵定义:a=[10,2;3,4]
- 多重表达式:
a=[1:2:11;0:5:25;linspace(10,60,6);67 2 43 23 3 1]
1 3 5 7 9 11
0 5 10 15 20 25
10 20 30 40 50 60
67 2 43 23 3 1
- List item
- 零矩阵:zeros()
- 一矩阵:ones()
- 对角矩阵:eye()
- 矩阵转置:a’
- 矩阵的分号表达式:a(:,1:3)
- 矩阵的离散取值:a(1:3,[1 2])
- 矩阵元素的删除:a(:,2:4)=[]
- 矩阵的拼接:C=[A B]
2.3常用矩阵内置函数
-
创建对角阵:v=[2 4 7] diag(v)
-
反向获取对角元素:v=rand(10,5),diag(v)
-
获取尺寸:size(A)
-
改变形状:reshape(A,5,2)
-
最值:[d,n]=min(A) [d,n]=max(A) 原理是对列进行比较,返回行向量
-
求和:sum(A)
-
排序:sort(A)
-
中值:median(A)
-
均值:mean(A)
-
标准差:std(A)
-
点积:dot(A,B)
-
随机数:
rand
rand(1,5):1行5列,值为0-1之间
rand(10):10行10列
randn(2,10):正态分布
rand(10,4)
randperm(10):随机正整数 -
特征值和特征向量:[v,d]=eig(A) A要是方阵
2.4矩阵运算
- 矩阵加减运算:±
- 矩阵点乘除法:.* ./
- 矩阵乘法:*
- 矩阵求逆:inv(A)
三、脚本及函数
3.1、脚本的使用
- 注释:%
- 脚本的执行:test
3.2、函数的使用
- 匿名函数:f=@(x,y)x.*y
- 函数的定义:
function [x,y]=test1
a=[]
end
- 函数的执行:test()
四、输入与输出
- 输入:s=input()
- 输出:disp()
- 格式化输出:fprintf("%.2e",score) 科学计数法表示
- 数据的保存和加载:
data=[1 2 3 ]
save(‘data.mat’,‘data’)
load(‘data.mat’)
clear data
load data.mat
- 文件操作:r:读 w:写 a:追加写 r+:读写 w+创建读写 a+追加模式创建
fp=fopen(‘test.txt’,‘a+’);
fprintf(fp,‘yi ge dong hanhan’);
fclose(fp);
五、运算符
- 关系运算符:>< == ~=
- 逻辑运算符:& | ~
- 逻辑运算函数:
any(A):向量中任意元素非零则返回true,以列向量为基准
all(A):所有元素非零时为true
xor(A):异或,一个元素非零另一个元素为零为true
find(A>d):寻找矩阵中满足条件的元素的位置(下标,以列数)
六、条件结构
- if…elseif…else…end
-
switch…case…otherwise…end
-
for…end
-
while…end