您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > Matlab简介2016
Matlab简介•Matlab70年代中期CleveMoler博士•开发了LINPACKEISPACK的FORTRAN语言子程序库,其中用于特征值求解的子程序库,用于线性方程求解的子程序库•70年代后期加入接口程序MATLAB(matrix和laboratory)•80年代成立Mathworks公司,将MATLAB推入市场。•MATLAB系统的功能及特点Matlab、mathematica、maple,maple内存管理及速度比math好,但是图形方面不如math;而用得较多的matlab编程环境特好,和C语言接口极其简单MATLAB系统:系统共有5个主要部分组成1)MATLAB语言:是一种面向对象的高级语言,它以矩阵作为最基本的数据结构。MATLAB有自己独特的数据结构、输入输出功能、流程控制语句和函数。在工程计算方面集计算、数据可视化、程序设计于一体。2)MATLAB工作环境是一个集成化的工作空间,提供数据变量和输入输出功能,以及用于管理调试的M文件的工具。包括命令窗口、M文件编辑调制器、MATLAB工作空间、在线帮助文件3)MATLAB数学函数库包括了基本的数学函数,其数学函数有两种方式:第一种比较简单的内部函数,内置于MATLAB核心;第二种以M文件提供的外部函数。4)MATLAB图形处理系统用于使科学计算的结果可视化,可实现:二维图形的绘制和处理、三维图形的绘制和处理、图形用户的定制5)MATLAB应用程序接口(API)使Matlab语言同C、Fortran等高级语言进行交互的函数库,该函数库通过动态链接来读写Matlab文件。•在MATLAB中输入输出数据•从MATLAB中调用FORTRAN、c程序(MEX文件)•在MATLAB和其他应用程序中建立客户机服务器的关系主要功能:1、数值计算功能:计算速度快,精度高,收敛性好,函数库功能强大。例1:a1=[1,2,3;2,3,4;3,4,5];b1=[1,1,1;2,2,2;3,3,3];b=a1*b1函数库扩展:用户按一定规范编写的文本文件函数*.m,并存入:\matlab\works则该函数可按普通函数一样调用。例2:下列程序用test.m文件形式存储,即得到一个可用的函数functionx=test(x1,x2)x=x1^2+x2;调用:y=test(3,1)y=10b=1414142020202626262、符号计算功能:(Maple的内核(1993年))例3:如x=sym(‘x’)y=int(1/(x^2+1))ory=int(1/(x^2+1),x)结果:y=atan(x)例4:x=sym(‘x’)y=int(exp(-1*x^2),-inf,inf)ory=int(exp(-1*x^2),x,-inf,inf)结果:y=pi^(1/2)dxx112dxex23、数据分析和可视话功能例:clear[x,y,z]=peaks(40);subplot(2,2,1);surf(x,y,z)title('使用缺省的视角');xlabel('x');ylabel('y');zlabel('z');subplot(2,2,2);surf(x,y,z)view(90,0);%调整视角从x轴的正方向看ylabel('y');zlabel('z');title('azimuth=90,elevation=0');subplot(2,2,3);surf(x,y,z)ylabel('y');xlabel('x');view(-45,60)%从斜上方看过去title('azimuth=-45,elevation=60');subplot(2,2,4);surf(x,y,z)xlabel('x');ylabel('y');view(0,90)%从正上方往下看title('azimuth=0,elevation=90');Matlab基本结构Matlab界面一、变量及其命名规则1.变量名的大小写是敏感。2.变量的第一个字符必须为英文字母,而且不能超过31个字符。3.变量名可以包含下连字符、数字,但不能为空格符、标点。注:常用的预定义变量ans预设变量名(输出结果)eps正极小值=2.2204e-16pi内建的π值inf∞值,无限大NaN无法定义一个数目i或j虚数单位i=j=√-1其它的如:realmax最大的正实数realmin最小的正实数flops浮点运算次数l、表达式MATLAB书写表达式的规则与“手写算式”差不多相同。如果一个指令过长可以在结尾加上...(代表此行指令与下一行连续),例如?3*…6ans=18二、MATLAB赋值语句三、MATLAB常用数学函数l三角函数和双曲函数sin正弦cos余弦tan正切cot余切asin反正弦acos反余弦atan反正切acot反余切2、指数函数expE为底的指数log1010为底的对数pow22的幂log自然对数log22为底的对数sqrt平方根3、复数函数abs绝对值(求模)conj复数共轭real复数实部angle相角imag复数虚部4、其它如:rem求余数mod模除求余length个数sum总和dot内积cumsum累计元素总和cross外积mean平均值四、代数运算表•加减法:+,-•乘法:*,.*•除法:/,\,./•幂次:^,.^•转置:’—共轭转置,•特殊优先次序:()•冒号算符:•分号算符;注意:(运算的优先规则)表达式从左到右执行,幂运算具有最高优先级,乘法和除法具有相同的次优先级,加法和减法有相同的最低优先级。如有括号则由最内层向外执行。五、控制语句:(一)、最简单的If-Else-End结构是:1、if条件式;运算式;end2、if条件式运算式else运算式end3、if条件式运算式elseif条件式运算式elseif条件式运算式end例:forI=1:3ifrand(1)0.5disp('therandomisgreatthan0.5')elsedisp('therandomisnotgreatthan0.5')endend(二)、While循环while循环语句While循环以不定的次数求一组语句的值。While循环的一般形式是:while条件式;运算式;end注:1、while循环可按需要嵌套。2、可以利用break命令跳出while循环(三)、for循环语句for变数=矩阵;运算式;end注:1、For循环可按需要嵌套。2、为了得到最大的速度,在For循环(While循环)被执行之前,应预先分配数组。建议最好先使用zeros或ones等命令来预先配置所需的内存(即矩阵)大小3、可以利用break命令跳出for循环例:fori=1:11forj=1:11y(i)=sin(n(i));n(j)=n(j)*10;endend(四)、中断语句break(五)、注释语句:符号注解是由%起头,也就是说在%之后的任何文字都被视为程式的注解。例如:»4*4%这是个例子ans=16(六)、switch-case语句一般switch-case语句格式为:switchnumcasen1commandcasen2commandcasen3command.otherwisecommandend一旦num为其中的每个值或字符串时,就执行所对应的指令,没有对应时,则执行otherwise后的语句。六、保存和检索数据Save和Load命令:1、save命令允许用户以所选择的文件格式保存一个或多个变量。例:save以二进制格式将所有变量存入matlab.matsavedatadata.matsavedataxyzdata.matsavedataxyz-asciidata.datsavedataxyz-ascii-doubledata.dat2、load命令允许用户调用以前所用的结果。注意路径设置默认路径::\matlab\works七、MATLAB编程—m-file•点击MATLAB——NewFile,就可打开MATLAB文件编辑调试器MATLABEditor/Debugger。其窗口名为untitled,用户即可在空白窗口中编写程序。•文本描述性(脚本)语言,用于批处理;例如,把如下的程序存入xsin.m文件,并执行xsin:clearx=0:.01:4*pi;h=plot(x,sin(x))set(h,’linewidth’,2)hgsave(gcf,’sineplot’)disp(‘Complete!’)在这里要注意一下,路径是否正确,这与程序的运行很重要的。点FileSetpath…八、MATLAB编程—.m函数•系统扩展或用户按一定规范编写的文本文件函数,可按普通函数一样调用。•例如,把下列程序用test.m文件形式存储,即得到一个可用的函数functionx=test(y1,y2)%thisisonlyfortestx=y1^2+y2;•MATLAB首次调入函数,以解释方式进行,随后编译的代码存入内存默认路径::\matlab\works九、MATLAB图形图像处理•具备完备的图形和图像处理功能•达到了完美的科学可视化•例—1:x=-4:.05:4plot(sin(x))•例—2:x=-10:.4:10;y=-pi:.2:0;mesh(x,y',cos(y')*sech(x))-10-50510-4-3-2-10-1-0.500.51十、MATLAB系统命令Help在线帮助helpwin在线帮助窗口demo运行演示程序ver版本信息who显示当前变量whos显示当前变量的详细信息clear清空工作间的变量和函数十一、MATLAB语言中的关系与逻辑运算l关系运算小于=小于等于大于=大于等于==等于~=不等于2、逻辑运算&逻辑and|逻辑or~逻辑not3、逻辑关系函数xor不相同就取1,否则取0any只要有非0就取1,否则取0all全为1取1,否则为0MATLAB工具箱及其应用介绍应用数学类模糊逻辑工具箱优化工具箱样条工具箱统计工具箱偏微分方程工具箱自动控制类控制系统工具箱线性矩阵不等式控制工具箱频域系统辨识工具箱电子技术类信号处理工具箱小波工具箱通信工具箱自适应神经模糊学习支持动态仿真等约束条件下的优化求函数极值等分段多项式曲线拟合及平滑等概率分布与随机数假设检验等有限元方法等滤波器的设计、应用与仿真,FFT变换等基于小波的分析自适应去噪与压缩调制与解调信号编码等LMI的问题解决方案等频域时域响应传递函数和状态空间计算幅值/相位的置信区间,等•变量无须定义•统一的数据类型AA=1定义了一个矩阵,大小为11x=[1235]x=[123235345]A=[0:0.1:1](2)无须担心内存的分配和释放a=[]a(1)=10a(2)=5a(10)=9例题3+4A=3+4Test1HelpPath数学运算函数•(1)三角函数•sin(x),cos(x)•(2)指数对数函数•exp(x),ln(x),log10(x)•(3)复数函数•abs(x),angle(x),conj,imag,real基本运算•(1)运算符号•.*(点乘)•\左除:右边的数据除以左边的数据;例如求:x=A-1b=A\b•/除./(点除)语句条件ifelseifx1000Max=1;elseifx100Max=0;elseMax=-1;endex12循环forendN=10forI=1:N,forJ=1:N,A(I,J)=I/(I+J-1)endendex13whileendsum=0n=0whilesum2000n=n+1sum=sum+n;endn=n-1ex14breakforr=1:100area=pi*r*rifarea100breakendA(r)=area;endex15Matlab主要功能•(1)二维图形plot(x,y)•x=[0:0.1:10*pi]•plot(x,sin(x)+cos(2*x))•ex1x=[0:0.05:5];y=sin(x.^2);plot(x,y)
本文标题:Matlab简介2016
链接地址:https://www.777doc.com/doc-5172444 .html