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为方阵,满足 的AX= \lambda X\lambda称为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 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值