Matlab软件使用简介(72页).doc





《Matlab软件使用简介(72页).doc》由会员分享,可在线阅读,更多相关《Matlab软件使用简介(72页).doc(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-Matlab软件使用简介一、基本内容1. 向量的产生基本格式:start: step: end(step缺省时为1)x=1:5x=0:0.1:2*pidot 向量点集 cross 向量叉集 .* 对应元素乘积Matlab的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果。linspace 线性等分向量 a=linspace(0,2*pi,100) logspace 对数等分向量 a=logspace(0,2*pi,100)100为插入点数(99等分),默认值为100.2. 矩阵的输入约定:(1)元素之间用空格或逗号隔开; (2)用中括号( )把所有元素括起来
2、; (3)用分号(;)说明行结束。矩阵输入时,按Enter键表示开始输入新的一行,输入矩阵时,要求所有的行具有相同的列。例如:a=1 2 3; 4,5 6; 7 8,9该矩阵一直保存在工作空间,直至被修改。x=1:6y=sin(x)z=cos(x)b=x;y;z特殊矩阵:a= 产生一个空矩阵b=zeros(m,n)产生一个m行、n列的零矩阵c=ones(m,n)产生一个m行n列的元素全为1的矩阵d=eye(m,n)产生一个m行、n列的单位矩阵3. 大矩阵中抽取小矩阵c1=b(:,1:2); c2=b(:,5:6) ; d=c1,c2d=c1;c2或d=b(:,1:2,5:6)4. 固定变量(1
3、) ans: 在没有定义变量名时,系统默认变量名为ans;(2) eps: 容许误差,非常小的数;(3) pi: 即圆周率;(4) i: 虚数单位;(5) inf: 表示正无穷大,由1/0运算产生;(6) NaN: 表示不定值,由inf/inf或0/0运算产生。5. 基本运算5.1 算算术运算符+ 加 - 减 * 矩阵乘法 .* 数组乘(对应元素相乘) 矩阵幂 . 数组幂(各个元素求幂) ./ 数组除(对应元素除) 左除或反斜杠 / 右除或斜杠 如果a为一个非奇异矩阵:ab = inv(a)*b: 表示a*x=b的解;a/b = b*inv(a): 表示项x*a=b的解。例如:a=1 2 3;
4、 4 2 6; 7 4 9 b=4;1;2 ab5.2 2.2 关系运算符= = 等号 = 不等号 大于 = 大于或等于 5.3 逻辑运算符& 逻辑与 | 逻辑或 逻辑非 xor 异或 any 有非零元则为真 all 所有元素均非零则为真 6. 矩阵的基本操作 转置inv 矩阵求逆det 行列式的值 v d=eig(a) 特征值和特征向量rank 秩 trace 迹size 矩阵的行数和列数diag 对角矩阵和矩阵对角线 fliplr 从左自右翻转矩阵 flipud 从上到下翻转矩阵 roy90 矩阵翻转90度 tril 矩阵的下三角 triu 矩阵的上三角 7. 常用函数(1)clc清除指令
5、窗口(2)clear从内存中清除变量和函数(3)who列出工作内存中的变量名(4)whos列出工作内存中的变量详细信息(4)pause暂停二、绘图函数1. plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y座标。下例可画出一条正弦曲线:x=linspace(0, 2*pi, 100); % 100个点的x座标 y=sin(x); % 对应的y座标 plot(x,y); 若要画出多条曲线,只需将座标对依次放入plot函数即可plot(x, sin(x), x, cos(x); 若要改变颜色,在座标对后面加上相关字串即可: plot(x, sin(x), c,
6、 x, cos(x), g); 若要同时改变颜色及图线型态(Line style),也是在座标对后面加上相关字串即可: plot(x, sin(x), co, x, cos(x), g*) plot绘图函数的参数符号颜色符号线形符号线形y黄色.点-虚线m洋红色o圆d菱形c青色叉号向右三角形r红色+加号向左三角形g绿色*星号s正方形b蓝色-实线P正五角星w白色:点线h正六角星k黑色-.点划线图形完成后,我们可用axis(xmin,xmax,ymin,ymax)函数来调整图轴的范围: axis(0, 6, -1.2, 1.2); 此外,Matlab也可对图形加上各种注解与处理: xlabel(In
7、put Value); % x轴注解 ylabel(Function Value); % y轴注解 title(Two Trigonometric Functions); % 图形标题 legend(y = sin(x),y = cos(x); % 图形注解 grid on; % 显示格线 注意:如果标题太长,需要分行,请用如下格式str=你需要多少行?;3行可以吗;试试就知道了title(str) 我们可用subplot来同时画出数个小图形于同一个视窗之中: subplot(2,2,1); plot(x, sin(x);title(y=sinx) subplot(2,2,2); plot(x
8、, sin(2*x); title(y=sin2x)subplot(2,2,3); plot(x, sin(3*x); title(y=sin3x)subplot(2,2,4); plot(x, sin(4*x); title(y=sin4x)Matlab还有其他各种二维绘图函数,以适合不同的应用。bar 长条图errorbar 图形加上误差范围 fplot 较精确的函数图形 polar 极座标图hist 直方图rose 绘制角度直方图(玫瑰图)stairs 阶梯图stem 针状图 fill 多边形填充图feather 羽毛图compass 罗盘图quiver 向量场图 以下我们针对每个函数举
9、例。 (1)当数据点数量不多时,长条图是很适合的表示方式: close all; % 关闭所有的图形视窗 x=1:10; y=rand(size(x); bar(x,y); rand 均匀颁随机数和数组(2)如果已知数据的误差量,就可用errorbar来表示。下例以单位标准差来做资的误差量: x = linspace(0,2*pi,30); y = sin(x); e = std(y)*ones(size(x); % std求标准差errorbar(x,y,e) (3)对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例: fplot(sin(1/x),
10、 0.02 0.2); % 0.02 0.2是绘图范围 (4)若要产生极座标图形,可用polar: theta=linspace(0, 2*pi); r=cos(4*theta); polar(theta, r); (5)对於大量的数据,我们可用hist来显示资料的分布情况和统计特性。下面几个命令可用来验证由randn产生的正态分布: x=randn(5000, 1); % 产生5000个均值为0,方差为1的正态分布随机数 hist(x,20); % 20代表长条的个数 (6)rose和hist很接近,只不过是将数据大小视为角度,数据个数视为距离,并用极座标绘制表示: x=randn(1000
11、, 1); rose(x); (7)stairs可画出阶梯图: x=linspace(0,10,50); y=sin(x).*exp(-x/3); stairs(x,y); (8)stems可产生针状图,常被用来绘制数位讯号: x=linspace(0,10,50); y=sin(x).*exp(-x/3); stem(x,y); (9)stairs将资料点视为多边行顶点,并将此多边行涂上颜色: x=linspace(0,10,50); y=sin(x).*exp(-x/3); fill(x,y,b); % b为蓝色 (10)feather将每一个数据点视复数,并以箭号画出: theta=li
12、nspace(0, 2*pi, 20); z = cos(theta)+i*sin(theta); feather(z); (10)compass和feather很接近,但每个箭号的起点都在圆点: theta=linspace(0, 2*pi, 20); z = cos(theta)+i*sin(theta); compass(z); 2. plot3用来绘制空间曲线格式:plot(x,y,z, cs) 其中若x,y,z为长度相等的向量,则在空间表示一条曲线;若x,y,z为m*n的矩阵,则每一列对应一条曲线。Cs表示曲线的颜色、线形等性质。例螺旋线:t=0:pi/50:10*pi; x=sin
13、(t); y=cos(t); plot3(x,y,t)例多条曲线:x=-3:0.1:3;y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(X,Y,Z)(meshgrid(x,y)的作用是产生一个以向量x为行、向量y为列的矩阵)3. surf用来绘制空间曲面格式:surf(x,y,z)x,y,z为矩阵,显式函数的图形。例:显示的图形。n=-8:0.5:8;m=n; x y=meshgrid(n,m);t=sqrt(x.2+y.2)+eps;z=sin(t)./t;surf(x,y,z)4. mesh用来绘制网格曲面格式同上5. scatter离散点绘图
14、格式:scatter(x,y,cs)例: x=0:pi/10:2*pi;y=sin(x);scatter(x,y,+)6. 其它函数(1)hold on: 保持当前图形, 以便继续在当前图上画图; hold off:释放当前窗口(2)figure(n): 打开或创建图形窗口n三、微积分内容1. limit求极限(必须首先声明变量)格式:limit(F,x,a)求limit(F,a) 求limit(F) 求limit(F,x,a,right)的右极限,即limit(F,x,a,left)的右极限,即例:syms x; %声明x为符号变量(cosn c)limit(1+1/x)x,x,inf);l
15、imit(sin(x)/x,x,0); limit(sin(x)/x,0); limit(sin(x)/x);syms h; limit(sin(x+h)-sin(x)/h,h,0) 2. diff求导数格式:diff(F)求函数的一阶导数diff(F, v)求函数对变量一阶偏导数diff(F,n)求函数的阶导数diff(F, v, n)求函数对变量的阶偏导数例:diff(x*y*z); diff(x*y*z,2) diff(diff(x*y*z,x),y) diff(x2*cos(x),x,2)3. 积分函数(1)符号积分int(f)传回f对预设独立变数的积分值int(f,t)传回f对独立变
16、数t的积分值int(f,a,b)传回f对预设独立变数的积分值,积分区间为a,b,a和b为数值式int(f,t,a,b)传回f对独立变数t的积分值,积分区间为a,b,a和b为数值式int(f,m,n)传回f对预设变数的积分值,积分区间为m,n,m和n为符号式例 syms x y int(x) int(x,x) int(x*y,x)Int(x,1,2) int(x,x,1,2) 注意:int(x,x,a,b) int(x,x,a,b)的区别。例:计算二重积分,其中由轴,轴及围成。syms x y c=int(int(x+y,y,0,1-x),x,0,1)vpa(c,10) %给出数值型符号结果(2
17、)数值积分trapz(x,y) 梯形法沿列方向求函数Y关于自变量X的积分cumtrapz(x,y) 梯形法沿列方向求函数Y关于自变量X的累计积分quad(fun,a,b) 采用递推自适应Simpson法计算积分(低阶方法)quadl(fun,a,b) 采用递推自适应Lobatto法求数值积分(高阶方法)dblquad(fun,xmin,xmax,ymin,ymax,tol) 矩形区域二重数值积分triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol) 长方体区域三重数值积分例:计算定积分的值。符号积分:syms x; int(exp(-sin(x),x
18、,0,4) 数值积分:参看ex01.m例:计算积分。quad(sin(x)./x,0,2) quadl(sin(x)./x,0,2)注意:quad函数和quadl函数求积分时,其中求解变量是以向量来计算的,所以这里的sin(x)和x都是向量,因此要用点除;同时被积函数用 括起来。例:计算二重积分,dblquad(x*y,0,1,0,1)例:triplequad( y*sin(x)+z*cos(x),0,pi,0,1,-1,1)注意:最新版的2009a有关于一般区域二重积分的计算函数quad2d,如果用的不是2009a,那么你可以利用NIT工具箱里的quad2dggen函数。quad2dggen
19、(fun,xmin,xmax,ymin,ymax,tol) 任意区域上二重数值积分如果既没有NIT工具箱用的也不是2009a,可以利用两次quadl函数。例:计算二重积分,quadl(x) arrayfun(xx) quadl(y) xx+y,0, xx),x),0,1)% 创建函数 4. 无穷级数格式:r = symsum(s) r = symsum(s,v) r = symsum(s,a,b) r = symsum(s,v,a,b) syms k n x; symsum(k2)symsum(k2,1,2) symsum(k2,1,inf)5. 方程求解基本函数:solve(eq)solve
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 软件 使用 简介 72

限制150内