1.入门
1.1矩阵与运算
a=[1 2 3;4 5 6;7 8 9]
*表示矩阵乘法
.* .^之类则是对矩阵每个元素运算(点乘)
inv(a)矩阵的逆
format long/short 显示更多/更少位小数
串联 A=[a a] 横着 [a;a] 竖着
sum(A)会得到各列的和(得到行向量)
zeros(n,m)得到零矩阵 ones(n,m)得到1矩阵
删除某行或某列用=[],如删除整个第二列 X(:,2) = []
x = b/A 获得的矩阵方程 xA = b 的解
x = A\b 获得矩阵方程xA=b的解
1.2数组索引
A(4,2)坐标索引
A(10)次序索引,会按照列来数,第一列数满到第二列……
:表示从多少到多少
A(2:4,2)表示提取2~4行,每行的第二列
A(2,:)表示提取第二行的所有列
创建等间距向量值 A=0:10:100,中间是间距,出来是0,1,2,3……100
如果直接0:100,默认间距为1
A(:,[1,3,2,4]) 取每行,列按1 3 2 4的顺序取每列
用逻辑下标表示法进行按逻辑删除/修改元素:
x = x(isfinite(x)) 删除向量中所有无效值(NaN,Inf),保留有实际的值
x = x(abs(x-mean(x)) <= 3*std(x)) 删除比均值大三倍标准差的离群值
mean求均值,std求标准差
A(~isprime(A)) = 0 将非质数设置为0
find函数获取索引:k = find(isprime(A)) %获取所有质数的索引
这样可以A(k)调取所有质数
1.3工作区
whos查看工作区全部变量的信息,后面加名字就只查某一个
save保存工作区数据到.mat
load把.mat的数据加载到工作区
clear清除工作区
clc清除命令区
语句无法容纳在某行时,可以用… 这样下一行会串联
1.4字符串
B=“sfse”
A=["ada" "asfs" "gs";"sge" "fas" "sf"]
strlength(A)会对每个元素求长度得到矩阵
a=‘afawfaw’ 字符数组 double(a)可获取ascll码,char(a)再转回去
可以提取每一位,如a(2)=‘f’,字符串就不能提取每一位,因为个体就是最小单位
1.5绘图
linspace(a,b)表连续范围
plot(x,y,"--") 二维平面,虚线
xlabel(“”) / ylabel(“”) 给x和y轴命名
title(“ ”)给图表命名
legend(" "," ")按顺序对线取名
hold on 定住图表,下次更新时保留原图
hold off 解除锁定,下次更新时上次的图会不见
exp()表示e的几次方
三维图 x = linspace(-2,2,20); %20表示只20个点,没加就是一条线
1.6编程和脚本
创建实时脚本 edit xxxx.mlx
调用时直接打脚本名
1.7循环和条件语句
if ifelse
for n = 3:N %3到n