取舍函数和其他数值函数:
fix ------向0舍入
floor----向负无穷舍入
ceil-----向正无穷舍入
round-----四舍五入
rem(a,b)--计算a/b的余数
sign(x)----符号函数
有关向量的函数:
min(x):向量x的元素最小值
max(x):向量x的元素最大值
mean(x):元素的平均值
median(x):元素的中位数
std(x):元素的标准差
diff(x):相邻元素的差
sort(x):对向量x的元素进行排序
length(x):向量x的元素个数
norm(x):向量x的Euciidean长度
sum(x):向量元素总和
矩阵常见的计算:
1、矩阵输入方法:>> A=[1,4,7;2,3,4;2,3,3]或者:
A=[1,4,7;
2,3,4;
2,3,3]
2、矩阵转置:用B=A'来实现矩阵的转置
3、矩阵的加减:使用 + -来实现矩阵的加减运算(必须是同型的矩阵)
可以矩阵减去一个常数
4、矩阵乘法:用*表示,要求前一个矩阵的列数和后一个矩阵的行数相同
还可以实现数乘向量(每个数相乘矩阵中的元素)
5、矩阵的行列式:Z=det(A)
6、矩阵求逆:Z=inv(A)(非奇异矩阵)
利用逆矩阵可以求解方程组:
AX=b
X=inv(A)*b或者 X=A\b (还可以解矛盾方程组)
测试m文件
t=[0.00.30.81.11.62.3]';y=[0.820.720.630.600.550.5]';A=[ones(size(t)),exp(-t)]; x=inv(A'*A)*A'*y; n=500; tt=zeros(n,1); yy=zeros(n,1); dt=2.3/n; fori=1:ntt(i)=i*dt; yy(i)=x(1)+x(2)*exp(-tt(i)); endplot(t,y,'*b',tt,yy,'r');
7、特征值:如果A是方阵,满足AX=人X的人称作A的特征值,X称作特征向量。
Z=eig(A)
如果要同时求出特征向量,采取表达式[X,V]=eig(A)
X各列为特征向量,V主对角元素为特征值(城市分析,竞赛排名)
函数作图:
1)二维平面曲线作图函数:
plot(x,y,'s')x,y,代表的是长度相同的向量,s代表线型和 颜色
如果作多条线在同一图上:
plot(x,y,'s',x1,y1,'s1'......xn,yn,'sn')demo:x=0:0.1:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'b',x,y2,'r')
2)多窗口作图
将屏幕分成几个窗口分别作图,函数如下:
subplot(m,n,k)
表示将窗口分为m x n个子窗口,当前k个窗口完成
demo:
x1=0:0.1:2*pi;y1=sin(x1); x2=-pi:0.1:pi;y2=cos(x2); x3=0:0.1:10;y3=sqrt(x3); x4=2:0.2:10;y4=log(x4); subplot(2,2,1);plot(x1,y1);title('y=sin(x)');gridonsubplot(2,2,2);plot(x2,y2);title('y=cos(x)');gridonsubplot(2,2,3);plot(x3,y3);title('y=sqrt(x)');gridonsubplot(2,2,4);plot(x4,y4);title('y=ln(x)');gridon
这里grid on 表示网格显示
3)直方图作图:hist
二维直方图,可以显示出数据的分布。
用法:
count =hist(X) 把向量X中的元素放入等距的10个条形中,且返回一个条形中的元素个数。若X为矩阵,则该命令按照列对X进行处理。
count =hist(X,center)参量X为向量 ,把X中元素放到 m (m=length(center))
[count,center] =hist(X)返回向量X中包含频率计数count 与条形的位置向量center,可以用命令bar(center,count)
如作1000个服从正态分布N(10,25)的数据的直方图,程序如下:
X=normrnd(10,5,1000,1); z=hist(X); bar(z); orX=normrnd(10,5,1000,1); [count,center]=hist(X); bar(center,count);
normrnd是用来产生正态分布随机数的,三个参量分别为期望,方差,和产生矩阵维度。
R=normrnd(MU,SIGMA,m,n): 生成m×n形式的正态分布的随机数矩阵。
hist表示做出直方图,第一个参量是各个随机变量的取值,第二个是区分区间的横坐标显示值。
基本语句:
1)for 语句:
for x=a:d:b
(command)
end
a为起始点,b为终止点,d为区间间隔
2)while语句:
while expression
(command)
end