MATLAB常见运算
Posted sereasuesue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB常见运算相关的知识,希望对你有一定的参考价值。
常用函数
(1) 三角函数
sin-----正弦 sinh---双曲正弦 asin----反正弦 asinh---反双曲正弦
cos----余弦 cosh---双曲余弦 acos----反余弦 acosh---反双曲余弦
tan-------正切 tanh----双曲正切 atan-----反正切 atanh-----反双曲正切
(2) 指数函数与对数函数
exp -------指数 log--------e为底的对数 log10------常用对数 sqrt-----平方根
与复数有关的函数
abs------模或绝对值 angle-----幅角 conj-----复共轭
imag-----虚部 real-------实部
(3) 舍入函数及其它数值函数
fix-------向0舍入 floor-----向负无穷舍入 ceil-------向正无穷舍入
round----四舍五入 rem(a,b)----计算a/b的余数
如fix(2.3)=2 floor(2.3)=2 ceil(2.3)=3 round(2.3)=2
如fix(-2.3)=-2 floor(-2.3)=-3 ceil(-2.3)=-2 round(-2.3)=-2
(4)有关向量的函数
min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值
mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位數
std(x): 向量x的元素的标准差 diff(x): 向量 x的相邻元素的差
sort(x): 对向量x的元素进行排序 length(x): 向量x的元素个數
norm(x): 向量x的Euclidean长度 sum(x): 向量x的元素总和
prod(x): 向量x的元素连乘积 cumsum(x): 向量x的累计元素总和
dot(x, y): 向量x和y的內积
cross(x, y): 向量x和y的外积
cumprod(x): 向量x的累計元素总乘积
矩阵常见运算
矩阵表示
%矩阵表示
A=[1,4,7;3,6,9;6,7,4];
A1=[1,4,7;
3,6,9;
6,7,4];
矩阵的转置用符号´来表示
B=A'
B =
1 3 6
4 6 7
7 9 4
矩阵的加减
矩阵的加减使用的是”+”和”-“运算符.进行矩阵加减运算必须是同型矩阵
矩阵乘法用符号*表示。
要求前一矩阵列数与后一矩阵行数相同
矩阵的行列式
求方阵A行列式,用det(A)表示
A1=[1,4,7;3,6,9;6,7,4];
C=det(A)
c = 24.0000
可得结果为:
X = 0.4760 0.3413
即a=0.4760, b=0.3413
拟合曲线
t=[0.0 0.3 0.8 1.1 1.6 2.3]'
Y=[0.82 0.72 0.63 0.60 0.55 0.5]'
A=[ones(size(t)),exp(-t)]
x=A\\Y
n=500; %数据点数
tt=zeros(n,1);
yy=zeros(n,1);
dt=2.3/n;
for i=1:n
tt(i)=i*dt;
yy(i)=x(1)+x(2)*exp(-tt(i));
end
plot(t,Y,'*b',tt,yy,'r')
(7)矩阵特征值
如果A为方阵,满足 的。称为A的特征值,X称为A的特征向量。
计算A的特征值用eig(A)表示
[X,V]=eig(A)同时求出特征向量,其中X各列为特征向量,V主对角元素为特征值
%矩阵特征值
A=[1 3 6; 2 5 8; 3 6 8]
[X,V]=eig(A)
X =
-0.4135 -0.7851 0.7318
-0.6094 -0.3748 -0.6472
-0.6765 0.4931 0.2136
V =
15.2382 0 0
0 -1.3365 0
0 0 0.0982
函数作图
(1) 二维平面曲线作图函数 plot(x,y,’s’)其中x和y是长度相同的向量,s表示线型和颜色
如果作多条曲线在同一图上,则用函数plot(x1,y1,’s1’,x2,y2,’s2’,…,xn,yn,’sn’)
例:将sinx和cosx在[0,PI]区间一张图上
x=0:0.1:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,'r',x,y2,'b');
%多窗口作图
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)'); grid on
subplot(2,2,2); plot(x2,y2); title('y=cos(x)'); grid on
subplot(2,2,3); plot(x3,y3); title('y=sqrt(x)');grid on
subplot(2,2,4); plot(x4,y4); title('y=ln(x)'); grid on
(3) 直方图作图hist
二维直方图,可以显示出数据的分布。
用法 count = hist(X) 把向量X中的元素放入等距的10个条形中,且返回每一个条形中的元素个数。
count = hist(X,center) 参量X为向量,把X中元素放到m (m=length(center))个由center中元素指定的位置为中心的直方图中。
count = hist(X,number) 参量number为标量,用于指定条形的数目。
[count,center] = hist(X) 返回向量X中包含频率计数的count与条形的位
置向量center,可以用命令bar(center,count)画出条形直方图
(4)二维图形注释命令
grid功能 给图形的坐标面增加分隔线。该命令会对当前坐标轴的的属性有影响。
用法 grid on 给当前的坐标轴增加分隔线。
grid off 从当前的坐标轴中去掉分隔线。
grid 转换分隔线的显示与否的状态。
grid(axes_handle,on|off) 对指定的坐标轴
axes_handle是否显示分隔线。
(5)空间曲线作图
Matlab提供了三维曲线作图plot3。调用格式:
plot3(x,y,z,’s’)
其中x、y和z是长度相同的向量,s表示线型和颜色
(6) 三维曲面作图
命令1 mesh
功能 生成由X,Y和Z指定的网线面。
用法 mesh(X,Y,Z) 画出三维网格图
如作z=cosx.siny曲面图,程序如下
%三维曲面作图
[X,Y] = meshgrid(-3:0.1:3,-4:0.1:4);
Z=cos(X).*sin(Y);
mesh(X,Y,Z);
xlabel('x');
ylabel('y');
zlabel('z');
命令2 surf
功能与用法 surf(X,Y,Z)在矩形区域内显示三维带阴影曲面图
4.基本语句
1) for语句
for x=a:d:b
(command)
end
a为起始点,b为终止点,d为区间间隔。
循环体内为执行语句。
%求1+3+5+..…99。for语句程序
s=0;
for i=1:2:99
s=s+i;
end
s
结果为2500
2) while 语句
while expression
(command)
end
s=0; i=1;
while i<100
s=s+i; i=i+2;
end
s
如用该语句求1到100中被3整除余1的数和为s1, 被3整除余2的数和
为s2,被3整除的数和为s3。程序如下:
s1=0;s2=0; s3=0;
for i=1:100
if(mod(i,3)==1) s1=s1+i;
elseif (mod(i,3)==2) s2=s2+i;
else s3=s3+i; end
end
fprintf('s1=%3d s2=%3d s3=%3d\\n',s1,s2,s3);
结果如下:
s1=1717 s2=1650 s3=1683
以上是关于MATLAB常见运算的主要内容,如果未能解决你的问题,请参考以下文章