转置
续行符和矩阵分行
常用矩阵
全为0:zeros(行,列)
全为1:ones(行,列)
单位阵:eye(行),单位阵是方阵,行与列相同。
rand(m,n):m行n列的均匀分布随机数矩阵
randn(m,n):m行n列的正态分布随机数矩阵
diag(v):以一维数组(行向量或列向量)v为对角线元素的对角阵;;diag还可以获取矩阵上的对角线元素
固定变量
Inf:表示无穷大,如1/0
NaN:一个没有意义的数字,如0/0
矩阵运算
对应位置:A+B ,A-B ,A .*B,A./B
矩阵相乘:A *B
相除:
方程xA=B的解是x=B/A等价于BA^(-1)
方程Ax=B的解是x=A\B等价于A^(-1)*B
矩阵索引:
A(2,:)是取第二行
A(1:2,:)是取第一行和第二行
比较和逻辑运算
xor(a,b)异或运算
就是两个都真或都假,那么输出为假(False)
只有两个一真一假,那么输出为真。
应用
“ 将x小于0的项全变为0
将y中第一列元素中小于0的对应的那一行全变为0 ”
矩阵旋转
flipud(A)上下翻转
fliplr(A)左右翻转
rot90(A)逆时针旋转90°
矩阵操作函数(求和)
sum(A,1)将每一列的值相加,得到由各列元素的和构成的一个行向量,其中1可省略
sum(A,2)将每一行的值相加,得到由各行元素的和构成的一个列向量,2指的就是按第二维度相加
sum(A(:))将矩阵A中所有的数相加,冒号即代表所有
C=A(:)会将矩阵A拉成一个列向量
max,min
max(A):
1.若A为行向量,就是取A中的最大值
2.若A为一矩阵,则是取每一列中的最大值,形成一行向量
max(A,2):
将A当中的元素与2作比较,取最大的(即A中元素小于2时,取2;大于2时,取A中元素)
max(A,[ ],2):
将A按照行取最大值
常用数学函数
asin(x)是arcsin(x)
abs绝对值
sqrt开根号
几个取整的:ceil,floor,round(四舍五入),fix(舍去小数)
rem(x,y)和mod(x,y)
当x和y同号时,二者结果相同
当二者异号时,则rem(x,y)的符号与x相同,mod(x,y)的符号与y相同。
rem和mod的差别
作图
简单做图示例1
x=-2pi:0.1:2pi; //取步长为0.1,使点很密
y1=sin(x);
y2=cos(x);
plot(x,y1,’-b’); //- 代表实线,b代表蓝色
hold on //使得第一条线不被第二条线所覆盖
plot(x,y2,’-r’); //r代表红色
xlabel(‘x’); //横轴上标一个x标签
ylabel(‘y’); //纵轴上标一个y标签
text(0,0,’(0,0)’); //在(0,0)点处标上(0,0)
legend(‘sin(x)’,‘cos(x)’); //标上图例sin(x),cos(x)
效果1
简单做图示例2
t=0:pi/180:4pi;
x=16sin(t).^3; //这里注意不要将点次方中的点省略
y=13cos(t)-5cos(2t) …
-2cos(3t)-cos(4t);
plot(x-3,y,’-r’,x+3,y,’-b’);
xlabel(‘x’);
ylabel(‘y’);
axis([-20,30,-20,30]); //控制坐标系显示的范围
title(‘two heart’); //给图加个标题
legend(‘U’,‘I’); //图例
效果2
plot函数
plot(x,y) 默认画蓝色的线
plot(x,y,s)s是一个字符串,可以由下面的组成
表示颜色的:
b表示蓝色
r表示红色
k表示黑色
m表示紫红色
表示数据点形式的
单独一个.就是点
o就是小圈圈
x就是叉号
+就是加号
p是五角星
表示线型的
一个示例
t=0:pi/180:4pi;
x=16sin(t).^3;
y=13cos(t)-5cos(2t) …
-2cos(3t)-cos(4t);
plot(x-3,y,’:ok’,x+3,y,’–+m’); //冒号是点点线,- -是虚线,k是黑色,m是紫红色
xlabel(‘x’);
ylabel(‘y’);
axis([-20,20,-20,15]);
title(‘two hearts’);
legend(‘U’,‘I’);
效果如下
极坐标绘图
xita=0:pi/180:4*pi; //角度
r=1-sin(xita); //长度
polar(xita,r,‘m’) //紫红色