




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 MATLAB公式1. 例如:在命令窗口中输入sin(pi/5),然后单击回车键,则会得到该表达式的值sin(pi/5)ans= 0.58782. 例如:sin(1/9*pi)+sin(2/9*pi)+sin(3/9*pi)+sin(4/9*pi)+sin(5/9*pi)+sin(6/9*pi)+sin(7/9*pi)+sin(8/9*pi)+sin(9/9*pi)+ans=5.67133. 命 令 说 明 doc在帮助浏览器中显示指定函数的参考信息 help在命令窗口中显示M文件帮助 helpbrowser打开帮助浏览器,无参数 helpwin打开帮助浏览器,并且见初始界面置于MATLAB函数的M文件帮助信息 lookfor在命令窗口中显示具有指定参数特征函数的M文件帮助 web显示指定的网络页面,默认为MATLAB帮助浏览器4. 例如: help sinSIN SineSIN(X) is the sine of the elements of X Overloaded methodsHelp sym/sin.m5. 数据读入。例如,对于文本文件test.txt:students scoresEnglish Chinese MathmaticsWang 99 98 100Li 98 89 70Zhang 80 90 97 Zhao 77 65 876. 常 量 表 示 数 值 pi圆周率 eps浮点运算的相对精度 inf正无穷大 NaN表示不定值 realmax最大的浮点数 i, j虚数单位7. ATLAB语言提供了10种数据显示格式,常用的有下述几种格式:short 小数点后4位(系统默认值)long 小数点后14位short e 5位指数形式long e 15位指数形式8. 符串的每个字符(包括空格)都是字符数组的一个元素。例如: s=matrix laboratory; s= matrix laboratory size(s) % size查看数组的维数ans=1 179. 矩阵的生成直接输入法例如: a=1:0.5:4a= Columns through 7 1 1.5 2 2.5 3 3.5 4其次,通过使用冒号,可以截取指定矩阵中的部分。例如: A=1 2 3;4 5 6;7 8 9 A= 1 2 3 4 5 6 7 8 9 B=A (1:2, : )B= 1 2 3 4 5 610.例如: 事先在记事本中建立文件: 1 1 1 (并以data1.txt保存) 1 2 3 1 3 6在MATLAB命令窗口中输入: load data1.txt data1 data1= 1 1 1 1 2 3 1 3 612.特殊矩阵的生成zeros(m) 生成m阶全0矩阵eye(m) 生成m阶单位矩阵ones(m) 生成m阶全1矩阵rand(m) 生成m阶均匀分布的随机阵randn(m) 生成m阶正态分布的随机矩阵13. det(a) 求矩阵a的行列式eig(a) 求矩阵a的特征值inv(a)或a (-1) 求矩阵a的逆矩阵rank(a) 求矩阵a的秩trace(a) 求矩阵a的迹(对角线元素之和)例如: a=2 1 3 1; 3 1 0 7; -1 2 4 2; 1 0 1 5; a1=det(a); a2=det(inv(a); a1*a2 ans= 1注意:命令行后加“;”表示该命令执行但不显示执行结果。14. 矩阵的数组运算中还有幂运算(运算符为 . )、指数运算(exp)、对数运算(log)、和开方运算(sqrt)例如: a=2 1 -3 -1; 3 1 0 7; -1 2 4 -2; 1 0 -1 5; a3 ans=32 -28 -101 3499 -12 -151 239-1 49 93 851 -17 -98 139 a .3 ans=8 1 -27 -127 1 0 343-1 8 64 -8 1 0 -1 12515. 逻辑关系运算符号运算符功 能函 数 名= =等于eq =不等于ne大于gt=大于等于ge&逻辑与and|逻辑或or逻辑非not比较运算、算术运算、逻辑与或非运算。例如: a=1 2 3; 4 5 6; 7 8 9; x=5; y= ones(3)*5; xa= x b=0 1 0; 1 0 1; 0 0 1;16. ab=a&bab= 0 1 0 1 0 1 0 0 117. 二维图形的绘制MATLAB最常用的画二维图形的命令是plot,看两个简单的例子: y=0 0.58 0.70 0.95 0.83 0.25; plot(y)生成的图形见图5-1,是以序号为横坐标、数组y的数值为纵坐标画出的折线。 x=linspace(0,2*pi,30); % 生成一组线性等距的数值 y=sin(x); plot(x,y)生成的图形见图5-2,是上30个点连成的光滑的正弦曲线。图5-1 18. 例如: x=linspace(0,2*pi,30); y=sin(x); plot(x,y)先画好图5-2,然后用下述命令增加cos(x)的图形,也可得到图5-3。 hold on z=cos(x); plot(x,z) hold off 图5-3 图5-219. 线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线。线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青.以下面的例子说明用法: x=0:pi/15:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,b:+,x,y2,g-.*)19. 网格和标记 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) grid xlabel(Independent Variable X) ylabel(Dependent Variables Y and Z) title(Sine and Cosine Curves)它们产生图5-5: 图5-5也可以在图形的任何位置加上一个字符串,如用: text(2.5,0.7,sinx)20. 坐标系的控制axis(xmin xmax ymin ymax) 中分别给出x轴和y轴的最大值、最小值axis equal 或 axis(equal) x轴和y轴的单位长度相同axis square 或 axis(square) 图框呈方形axis off 或 axis(off) 清除坐标刻度还有axis auto axis image axis xy axis ij axis normal axis on axis(axis)21. 多幅图形如 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); u=2*sin(x).*cos(x); v=sin(x)./cos(x); subplot(2,2,1),plot(x,y),axis(0 2*pi 1 1),title(sin(x) subplot(2,2,2),plot(x,z),axis(0 2*pi 1 1),title(cos(x) subplot(2,2,3),plot(x,u),axis(0 2*pi 1 1),title(2sin(x)cos(x) subplot(2,2,4),plot(x,v),axis(0 2*pi 20 20),title(sin(x)/cos(x)共得到4幅图形,见图5-6.22 三维图形带网格的曲面例 作曲面z=f(x,y)的图形 用以下程序实现: x=-7.5:0.5;7.5; y=x; X,Y=meshgrid(x,y); (3维图形的X,Y数组) R=sqrt(X.2+Y.2)+eps; (加eps是防止出现0/0) Z=sin(R)./R; mesh(X,Y,Z) 23.图形的输出首先,在MATLAB图形窗口中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中可以把图形以emf、bmp、jpg、pgm等格式保存。然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。24. 程序设计例如:%命令窗口中定义矩阵a,ba=pascal(3)a=1 1 11 2 31 3 6b=magic(3)b= 8 1 6 3 5 7 4 9 2% 在编辑器中编写下述命令 a=a+b b=a-b a=a-b在编辑器中编辑完上例的脚本文件后,保存至文件scriptsexample中,然后在工作窗口中调用该脚本文件, scriptsexample a a=8 1 63 5 74 9 2 bb= 1 1 1 1 2 3 1 3 6其中矩阵a、b均是在工作空间中已定义完毕的,脚本运行时直接使用该变量,并对其进行操作,然后在命令窗口中调用该脚本,可以看到变量a、b已经进行了相互交换。25.函数文件例如: functionoutput,output2=functionexample(input1,input2) % 函数题头 %This is function to exchange two matrices % HI行 %input1,input2 are input variables % 帮助信息 %output1,output2 are output variables % 帮助信息 output1=input2; % 函数体 output2=input1; % 函数体 %The end of this example functiona,b=function-example(a,b)a= 8 1 6 3 5 7 4 9 2b= 1 1 1 1 2 3 1 3 626. for语句for循环语句的调用形式为: for 循环控制变量=循环次数设定 循环体end例如:for i=1:2:12 s=s+i;end27.while语句while循环语句的一般形式为:while循环判断的语句循环体End28. if-else-end语句if-else-end语句的一般形式为: if逻辑判断语句逻辑值为“真”时执行的语句else逻辑值为“假”时执行的语句end例如:if a=1a=a+1elsea=a+2end29. MATLAB在数值分析中的应用分段线性插值;ATLAB自身提供了内部函数interp1其主要用法如下:interp1(x,y,xi) 一维插值 yi=interp1(x,y,xi) 对一组点(x,y) 进行插值,计算插值点xi的函数值。x为节点向量值,y为对应的节点函数值。如果y 为矩阵,则插值对y 的每一列进行,若y 的维数超出x 或 xi 的维数,则返回NaN。 yi=interp1(y,xi) 此格式默认x=1:n ,n为向量y的元素个数值,或等于矩阵y的size(y,1)。 yi=interp1(x,y,xi,method) method用来指定插值的算法。默认为线性算法。其值常用的可以是如下的字符串。 nearest 线性最近项插值。 linear 线性插值。 spline 三次样条插值。 cubic 三次插值。所有的插值方法要求x是单调的。x 也可能并非连续等距的。正弦曲线的插值示例: x=0:0.1:10; y=sin(x); xi=0:0.25:10; yi=interp1(x,y,xi); plot(x,y,0,xi,yi)30. 最小二乘法拟合函数polyfit是指用一个多项式函数来对已知数据进行拟合,我们以下列数据为例介绍这个函数的用法: x=0:0.1:1; y= -0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2 我们选择二阶多项式进行拟合。 P= polyfit (x, y, 2)P=-9.8108 20.1293 -0.0317函数返回的是一个多项式系数的行向量,写成多项式形式为:为了比较拟合结果,我们绘制两者的图形: xi=linspace (0, 1, 100); %绘图的X-轴数据。 Z=polyval (p, xi); %得到多项式在数据点处的值。当然,我们也可以选择更高幂次的多项式进行拟合,如10阶: p=polyfit (x, y, 10); xi=linspace (0, 1,100); z=ployval (p, xi);31. 符号工具箱及其应用;符号变量与符号表达式格式1: sym (变量名) 或 sym (表达式)功能: 定义一个符号变量或符号表达式。例如: sym (x) % 定义变量x为符号变量 sym(x+1) % 定义表达式x+1为符号表达式格式2: syms 变量名1 变量名2 变量名n功能: 定义变量名1、变量2 、变量名 n为符号变量。例如: syms a b x t % 定义a,b, x,t 均为符号变量32. 微积分运算例如:求极限的命令及结果为: syms x t limit (1+2*t/x)(3*x) , x, inf )ans= exp(6*t) syms x limit(x/abs(x), x, 0, left) ans = -1 limit(x/abs(x),x, 0, right) ans = 133. 导数格式: diff (f,t,n)例如:求函数f=a*x2+b*x+c对变量 x的一阶导数, 命令及结果为 syms a b c x f=a*x2+b*x+c; diff(f) ans=2*a*x+b求函数f 对变量b的一阶导数(可看作求偏导), 命令及结果为 diff(f,b) ans=x求函数f 对变量x的二阶导数, 命令及结果为 diff(f,2) ans=2*a34. 3、积分;格式: int(f,t,a,b)例如:求函数f=a*x2+b*x+c对变量x不定积分, 命令及结果为 syms a b c x f=a*x2+b*x+c; int(f) ans=1/3*a*x3+1/2*b*x2+c*x求函数f 对变量b不定积分, 命令及结果为 int(f,b) ans=a*x2*b+1/2*b2*x+c*b求函数f 对变量x 从 1到5的定积分, 命令及结果为 int(f,1,5) ans=124/3*a+12*b+4*c35.级数求和格式: symsum (s,t,a,b)例如: 求级数的前三项的和, 命令及结果为 symsum(1/x,1,3) ans=11/636. 化简和代换simplify 利用各种恒等式化简代数式expand 将乘积展开为和式factor 把多项式转换为乘积形式collect 合并同类项horner 把多项式转换为嵌套表示形式例如:进行合并同类项执行 syms x collect(3*x3-0.5*x3+3*x2) ans=5/2*x3+3*x2)进行因式分解执行 factor(3*x3-0.5*x3+3*x2) ans=1/2*x2*(5*x+6)38. 解方程1、代数方程 格式:solve (f,t)功能:对变量t 解方程f=0,t 缺省时默认为x 或最接近字母x 的符号变量。例如:求解一元二次方程f=a*x2+b*x+c的实根, syms a b c x f=a*x2+b*x+c; solve (f,x) ans=1/2/a*(-b+(b2-4*a*c) (1/2) 1/2/a*(-b-(b2-4*a*c) (1/2)39. 微分方程 格式:dsolve(s, s1, s2, x)例如:求微分方程的通解 dsolve(Dy=1+y2) ans=tan(t+c1)40. 线性规划问题 (线性不等式约束) (线性等式约束) (有界约束)的函数是linprog ,其主要格式为:x, fval, exitflag, output, lambda= linprog(c, A, b, A1, b1 , LB, UB, x0, options)参数的主要用法及说明如下:(1)c, A和b是不可缺省的输入宗量;x是不可缺省的输出宗量,它是问题的解。(2)当x无下界时,在LB处放置 。当无上界时,在UB处放置 。 如果x的某个分量无下界,则置LB(i)=-inf. 如果无上界,则置UB(i)=inf. 如果无线性不等式约束,则在A和b处都放置 。(3)x0是解的初始近似值。(4)options是用来控制算法的选项参数向量。(5)输出宗量fval是目标函数在解x处的值。(6)输出宗量exitflag的值描述了程序的运行情况。如果exitflag的值大于0,则程序收敛于解x;如果exitflag的值等于0,则函数的计算达到了最大次数;如果exitflag的值小于0,则问题无可行解,或程序运行失败。(7)输出宗量output输出程序运行的某些信息。(8)输出宗量Lambda为在解x处的值 Lagrange乘子。例:求解线性规划问题 min , , , .解:在命令窗口中键入 c=-2,-1,1; a=1,4,-1; 2,-2,1; b=4; 12; a1=1,1,2; b1=6; lb=0; 0; -inf; ub=inf; inf; 5; x, z=linprog(c,a,b,a1,b1,1b,ub)运行后得到:x= 4.66670.00000.6667z= -8.6667n 41.常用的命令和技巧 (1)若干个通用操作命令 Cd改变当目录 Clear 清除内存中的所有变量和函数 Clc擦除matlab工作窗口中所有显示的内容 Clf擦除matlab当前窗口中的图形 Dir列出指定目录下的文件和子目录清单 Disp在运行中显示变量或文字内容 Echo制运行文字指令是否显示(2)命令行中的键盘按键42.退出和保存工作空间 退出: quit或exit 保存: save 文件名扩展名为 “mat” 装入: load 清除: clear 清除所有的变量 clear 清除指定的变量43.导入Excel数据文件中的数据该矩阵变量名为Excel数据文件中的文件名 方法为:执行主窗口下的FILE菜单下的Import Data功能项,按照向导提示初步完成。44. ) +、 * / (右除)、 (左除)、 幂指数45. 矩阵的除法 (左除)、 (右除/) ab=inv(a)*b ax=b x=a-1b b/a=b*inv(a) x*a=b x=b*a-1n 46. 、=、 = =(等于)、 =(不等于)47.特殊变量取 值ans用于结果的缺省变量名pi圆周率eps计算机的最小数,当和1相加就产生一个比1大的数flops浮点运算数inf无穷大,如1/0NaN不定量,如0/0i,ji=j=nargin所用函数的输入变量数目nargout所用函数的输出变量数目realmin最小可用正实数realmax最大可用正实数48.函 数名 称函 数名 称sin(x)正弦函数asin(x)反正弦函数cos(x)余弦函数acos(x)反余弦函数tan(x)正切函数atan(x)反正切函数abs(x) 绝对值max(x) 最大值min(x) 最小值sum(x)元素的总和sqrt(x) 开平方exp(x)以e为底的指数log(x)自然对数以10为底的对数sign(x)符号函数fix(x)取整49. 、M文件例:定义函数 f(x1,x2)=100(x2-x12)2+(1-x1)21.建立M文件:fun.mfunction f=fun(x)f=100*(x(2)-x(1)2)2+(1-x(1)22. 可以直接使用函数fun.m例如:计算 f(1,2), 只需在Matlab命令窗口键入命令:x=1 2fun(x)50. 矩 阵 逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter键也表示开始一新行. 输入矩阵时,严格要求所有行有相同的列. 例 m=1 2 3 4 ;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 351. 特殊矩阵的建立a= 产生一个空矩阵,当对一项操作无结 果时,返回空矩阵,空矩阵的大小为零. b=zeros(m,n) 产生一个m行、n列的零矩阵c=ones(m,n) 产生一个m行、n列的元素 全为1的矩阵d=eye(m,n) 产生一个m行、n列的单位矩阵52. 矩阵运算 2矩阵运算:矩阵加法:A+B矩阵乘法:A*B方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:V,D=eigA53. 2、逻辑运算符54. 先建立M文件fun2.m定义函数f(x),再在Matlab命令窗口输入fun2(2),fun2(0.5), fun2(-1)即可。55.曲线图命令为:命令为:PLOT(X,Y,S) 线型 y 黄色 . 点 - 连线 m 洋红 o 圈 : 短虚线 c 蓝绿色 x x-符号 -. 长短线 r 红色 + 加号 - 长虚线X,Y是向量,分别表示点集的横坐标和纵坐标PLOT(X,Y)-画实线PLOT(X,Y1,S1,X,Y2,S2,X,Yn,Sn) -将多条线画在一起56. 例 在0,2*pi用红线画sin(x),用绿圈画cos(x). x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,r,x,z,g0)例 . 在-1,2上画的 图形解 先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.2)再输入命令:fplot(myfun1,-1,2)例 在-2,2范围内绘制函数tanh的图形解 fplot(tanh,-2,2)例 x、y的取值范围都在-, 画函数tanh(x),sin(x),cos(x)的图形解 输入命令: fplot(tanh(x),sin(x),cos(x),2*pi*-1 1 1 1)56.对数坐标图loglog(Y) 表示 x、y坐标都是对数坐标系semilogx(Y) 表示 x坐标轴是对数坐标系semilogy() 表示y坐标轴是对数坐标系plotyy 有两个y坐标轴,一个在左边,一个在右边例 用方形标记创建一个简单的loglog解 输入命令: x=logspace(-1,2); loglog(x,exp(x),-s) grid on %标注格栅例 创建一个简单的半对数坐标图解 输入命令: x=0:.1:10; semilogy(x,10.x)例 绘制y=x3的函数图、对数坐标图、半对数坐标图57. 1、 一条曲线PLOT3(x,y,z,s)例 在区间0,10*pi画出参数曲线x=sin(t),y=cos(t), z=t. 解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) rotate3d %旋转58. 多条曲线PLOT3(x,y,z)解 x=-3:0.1:3;y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; plot3(X,Y,Z)空 间 曲 面surf(x,y,z)例 画函数Z=(X+Y).2的图形. 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; surf(X,Y,Z) shading flat %将当前图形变得平滑Mesh(x,y,z) 画网格曲面例 画出曲面Z=(X+Y).2在不同视角的网格图. 解 x=-3:0.1:3; y=1:0.1:5; X,Y=meshgrid(x,y); Z=(X+Y).2; mesh(X,Y,Z) (3)meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面)解 输入命令: X,Y=meshgrid(-3:.125:3); Z=praks(X,Y); Meshz(X,Y,Z)59. 处理图形GRID ON: 加格栅在当前图上 GRID OFF: 删除格栅(2)hh = xlabel(string): 在当前图形的x轴上加图例stringhh = ylabel(string): 在当前图形的y轴上加图例stringhh = zlabel(string): 在当前图形的z轴上加图例stringhh = title(string): 在当前图形的顶端上加图例string例 在区间0,2*pi画sin(x)的图形,并加注图例“自变量 X”、“函数Y”、“示意图”, 并加格栅.解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel(自变量X) ylabel(函数Y) title(示意图) grid on60. (3) hh = gtext(string) 命令gtext(string)用鼠标放置标注在现有的图上.运行命令gtext(string)时,屏幕上出现当前图形,在图形上出现一个交叉的十字,该十字随鼠标的移动移动,当按下鼠标左键时,该标注string放在当前十交叉的位置. 例 在区间0,2*pi画sin(x),并分别标注“sin(x)” ”cos(x)”.解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) gtext(sin(x);gtext(cos(x)61.定制坐标Axis(xmin xmax ymin ymax zmin zmax)例 在区间0.005,0.01显示sin(1/x)的图形。解 x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) axis(0.005 0.01 1 1)62.图形保持(1) hold on hold of保持当前图形, 以便
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三级员工晋升题库复习测试附答案
- 2025年足浴中医试卷及答案
- 2025年猜谜游戏题目及答案
- 教师招聘之《幼儿教师招聘》考试模拟试卷含答案详解【突破训练】
- 2025年锂电池焊接考试试题及答案
- 濮阳场馆照明工程方案(3篇)
- 酒厂管道改造工程方案(3篇)
- 2025年教师招聘之《小学教师招聘》练习题库附参考答案详解(综合卷)
- 2025标准中介租房合同模板
- 教师招聘之《幼儿教师招聘》每日一练含答案详解【黄金题型】
- 龙门铣床操作规程(3篇)
- 《冠心病》课件(完整版)
- 标志设计(全套课件88P)
- 数字货币投资入门指南
- 2024年“学宪法、讲宪法”应知应会题库
- HG-T 5367.5-2022 轨道交通车辆用涂料 第5部分:防结冰涂料
- 原油加工承揽合同
- QCT268-2023汽车冷冲压加工零件未注公差尺寸的极限偏差
- 【大数据“杀熟”的法律规制探究17000字(论文)】
- 初中九年级英语课件宾语从句 公开课比赛一等奖
- 患者安全和护理质量的关联
评论
0/150
提交评论