matlab-教程(基本语法)

上传人:小** 文档编号:57361455 上传时间:2018-10-21 格式:PPT 页数:78 大小:820.51KB
返回 下载 相关 举报
matlab-教程(基本语法)_第1页
第1页 / 共78页
matlab-教程(基本语法)_第2页
第2页 / 共78页
matlab-教程(基本语法)_第3页
第3页 / 共78页
matlab-教程(基本语法)_第4页
第4页 / 共78页
matlab-教程(基本语法)_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《matlab-教程(基本语法)》由会员分享,可在线阅读,更多相关《matlab-教程(基本语法)(78页珍藏版)》请在金锄头文库上搜索。

1、数学模型与实验,(一)Matlab简介,函数的数值表达,初等函数的数值直接表示 Sqrt sin cos log sin(2)ans = 0.9093 log(3)ans = 1.0986,向量的生成,1.直接输入向量,格式要求是:向量元素需要用“ ” 括起来,元素之间可以用空格、逗号或分号分隔; a=1,2,3a = 1 2 3 sin(a) ans = 0.8415 0.9093 0.1411,2.利用冒号表达式生成向量 冒号表达式的基本形式为 x=x0:step:xn x0表示向量的首元素值,xn表示向量的尾元素数值限,step表示从第二个元素开始,元素数值大小与前一个元素之大小的差值。

2、 a=1:2:12a =1 3 5 7 9 11,向量的基本运算,1. 加(减)与数加(减) a-1 %这里的a即上面生成的aans =0 2 4 6 8 10 2. 数乘 a*2ans =2 6 10 14 18 22,3. 点积dot(a,b)返回向量a和b的数量点积。a和b必须同维。 a=1 2 3 b=3 4 5 dot(a,b) ans =26,4.叉积 cross(a,b)返回向量a和b的叉积向量。a,b必须为三维向量。 a=1 2 3 b=3 4 5 cross(a,b) ans =-2 4 -2,矩阵的生成,1.直接输入小矩阵 输入矩阵时要以” “为标识,同行元素之间可用空格或

3、”,“分隔,行与行之间要用”;“或回车符分隔,若不想看到中间结果,可以用”;“结束。 a=1 2 3;1 ,1 1;4,5 6a = 1 2 31 1 14 5 6 ,2.直接导入文件,矩阵的运算,矩阵的加和减 a=1 2 3;1 ,1 1;4,5 6; b=3 4 5;1 2 1;2 3 1; c=a+b c = 4 6 82 3 26 8 7,矩阵的乘法 e=b,5 5 5 e = 3 4 5 51 2 1 52 3 1 5 f=a*e f = 11 17 10 306 9 7 1529 44 31 75,矩阵的逆运算 【例】求下面A矩阵的逆。解: a= 2 1 -3 -1;3 1 0 7

4、;-1 2 4 -2;1 0 -1 5;,解: a=2 1 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5; inv(a)ans =-0.0471 0.5882 -0.2706 -0.94120.3882 -0.3529 0.4824 0.7647-0.2235 0.2941 -0.0353 -0.4706-0.0353 -0.0588 0.0471 0.2941,2.矩阵的行列式运算 a1=det(a) a1 = -853.秩函数 rank(a) ans =4,特征值函数 x,y=eig(a) % x为特征向量矩阵,y为特征值矩阵x =-0.5843 0.9223 -0.1

5、387 - 0.2449i -0.1387 + 0.2449i0.7160 0.0904 -0.7828 -0.7828 -0.3806 -0.0066 -0.0803 + 0.3491i -0.0803 - 0.3491i0.0333 -0.3756 -0.4212 - 0.0489i -0.4212 + 0.0489iy =-1.1228 0 0 0 0 2.5266 0 0 0 0 5.2981 + 1.3755i 0 0 0 0 5.2981 - 1.3755i,几种常用的工具阵,zeros(M,N)生成M*N阶的全0阵 zeros(size(A)生成与A同阶的全0阵 eye(M,N)

6、生成M*N阶的单位阵 ones(M,N)生成M*N阶的全1阵 rand(M,N)生成M*N阶的随机矩阵,数组的运算,数组的加减法与矩阵的加减法运算完全相同,符号统一“+”,“-” a= 2 1 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5; a+1ans =3 2 -2 04 2 1 80 3 5 -12 1 0 6,数组的乘除法是指两同维数组间对应元素之间的乘除法,它的运算符为“.*”和“./”或“.” a=1 2 3;2 3 4;3 4 5; b=1 1 1;2 2 2;3 3 3; a./b ans =1.0000 2.0000 3.00001.0000 1.5000

7、 2.00001.0000 1.3333 1.6667,数组的幂运算符为“.”,他表示每个数组元素的幂运算,同矩阵的幂运算符不同。 a3 a.3ans = ans = 132 192 252 1 8 27192 279 366 8 27 64252 366 480 27 64 125,多项式的表示方法,对于多项式用以下的行向量表示这样就把多项式问题转化为向量问题,【例如】输入多项式 p=1 -5 6 -33; poly2sym(p) ans =x3 - 5*x2 + 6*x 33%其中poly2sym是符号工具箱中的函数,可将多项式向量表示为符号多项式的形式,多项式的拟合,polyfit (X

8、, Y,n) 其中X、Y为拟合数据 ,n为拟合多项式的阶数【例】用5阶多项式对0,2上的正弦函数进行最小二乘拟合。, x1=0:pi/30:pi*2; y1=sin(x1); a=polyfit(x1,y1,5); y2=a(1)*x1.5+a(2)*x1.4+a(3)*x1.3+a(4)*x1.2+a(5)*x1+a(6); plot(x1,y1,b-,x1,y2,r*) legend(原曲线,拟合曲线) axis(0,7,-1.2,4),函数拟合,观察数据(x,y); 对于线性拟合模型y=ax+b: 1.利用A=polyfit(x,y,1)得到系数向量其中A(1)=a,A(2)=b所得线性

9、模型为y=A(1)*x+A(2),2.解线性方程组对于线性拟合模型y=ax+b,等价于令A=(a,b),则 那么,MatLab图形绘制功能,基本绘图函数,x=0:0.001:10; % 0到10的1000个点的x座标y=sin(x); % 对应的y座标plot(x,y); % 绘图(可以设定显示范围),画椭圆,a = 0:pi/50:2*pi; X = cos(a)*3; %参数方程 Y = sin(a)*2; plot(X,Y); xlabel(x), ylabel(y); title(椭圆),线条和颜色控制符:,条形图,当资料点数量不多时,长条图是很适合的表示方式: close all;

10、% 关闭所有的图形视窗 x=1:10; y=rand(size(x); bar(x,y),误差图,x = linspace(0,2*pi,30); y = sin(x); e = std(y)*ones(size(x); % std:标准差 errorbar(x,y,e),极坐标图形,theta=linspace(0, 2*pi); r=cos(4*theta); polar(theta, r);,x=linspace(0,10,50); y=sin(x).*exp(-x/3); stairs(x,y); %阶梯图x=linspace(0,10,50); y=sin(x).*exp(-x/3)

11、; stem(x,y); %针状图,符号表达式画图,在许多的场合,将表达式可视化是有利的。MATLAB提供了函数ezplot来完成该任务。 y= 16*x2+64*x+96 y=16*x2+64*x+96 ezplot(y),三维曲线和曲面,1空间曲线绘制函数plot3( ) 格式一:plot3(x,y,z) 功能:若x、y、z为相同长度的向量,则根据向量x、y、z绘制空间三维曲线。如果x、 y、z为同阶矩阵,则绘制对应列的多条曲线。 格式二:plot3(x, y, z, s) 功能:按字符串s设置的线型、颜色、标记符号绘制三维空间曲线。字符串s的设置与 plot命令的设置相同。2三维网线图函

12、数mesh、meshc和meshz MATAL提供的函数mesh用来绘制三维网线图。格式一:mesh(X,Y,Z)功能:根据矩阵X、Y和Z绘制彩色的空间三维网线图。X、Y和Z中对应的元素为三维 空间上的点,点与点之间用线连接。其中网线的颜色随着网点高度的改变而改 变。格式二:mesh(x,y,Z)功能:n维向量x、m维向量y和mn矩阵Z绘制网线图,节点的坐标为 (x(j),y(i),Z(i,j),网线的颜色随着网点高度的改变而改变。,三维曲面图函数surf及surfc,格式一:surf(X, Y, Z, C) 功能:绘制由四个矩阵所指定的带色参数的网状表面图。视角是由view所指定。轴的刻度决

13、定于X,Y及Z的范围,或当前对轴的设定;颜色范围由C指定。 格式二:surf(X,Y,Z) 功能:将C设为与Z相等,则颜色与网的高度成正比。,三维螺旋线,t=0:pi/50:10*pi; plot3(sin(t),cos(t),t)grid,空间中的曲线,t=linspace(0,20*pi, 501); plot3(t.*sin(t), t.*cos(t), t); %注意用点乘 .*t=linspace(0, 10*pi, 501); plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);,立体网状图,x=linspace(-2, 2, 25); % 在x轴上取25点 y=linspace(-2, 2, 25); % 在y轴上取25点 xx,yy=meshgrid(x, y); % xx和yy都是21x21的矩阵 zz=xx.*exp(-xx.2-yy.2); % 计算函数值,zz也是21x21的矩阵 mesh(xx, yy, zz); % 画出立体网状图,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号