一 MATLAB概述 主要内容: (1)MATLAB发展历史和产品族简介 (2)MATLAB的桌面环境 (3)MATLAB的主要功能
(1) MATLAB发展历史和产品族简介 下载地址:http://down.swust.edu.cn/down/ 功能强大,操作简单! MATLAB源于美国Cleve Moler博士开发的两个线性代数软件包EISPACK和LINPACK,随后,Cleve Moler博士与其他人合作创办了Mathworks公司,推动了MATLAB的迅速发展。如今已成为一种集数值计算、符号计算、图形系统以及各种专业工具箱与一体的高级语言。 下载地址:http://down.swust.edu.cn/down/ 功能强大,操作简单!
MATLAB发展历史 1984年,MATLAB第1版(DOS版) 1992年,MATLAB4.0版 1994年,MATLAB 4.2版 1997年,MATLAB 5.0版 1999年,MATLAB 5.3版 2000年,MATLAB 6.0版 2001年,MATLAB 6.1版 2002年,MATLAB 6.5版 2003年9月, MATLAB 6.5.1版 2004年6月,MATLAB 7.0版 2004年9月, MATLAB 7.0.1版 2005年3月, MATLAB7.0.4版 2005年9月, MATLAB7.1版 2006年3月, MATLAB7.2版 2006年9月, MATLAB7.3版 2007年3月,MATLAB7.4版
MATLAB产品族 MATLAB产品由若干个模块组成: * MATLAB; 内核 MATLAB Toolboxes;专业工具箱 MATLAB Compiler;编译器 * Simulink;图形化动态系统仿真 Simulink Blockset;仿真模块集 Stateflow;事件驱动系统仿真 Real-Time Workshop (RTW);自动代码生成 Stateflow Coder:自动代码生成
典型工具箱: Signal processing:信号处理 Image processing:图像处理 Communication:通信 Wavlet:小波 Filter Design:滤波器设计 Control System:控制系统 System Identification:系统辨识 Fuzzy Logic:模糊逻辑 Nerual NetWork:神经网络 Symbolic Math:符号数学
(2)MATLAB的桌面环境 Command window:命令窗口 Workspace:工作空间 Current Directory:当前路径 Command History:历史命令 Launch Pad:发布平台 在view菜单里可以设置桌面环境的显示
MATLAB桌面环境字体、颜色等的设置
(3)MATLAB的主要功能 数值计算 例:解线性方程组 其中: 解: 写成矩阵形式: 3 5 6 9 A= -3 8 -6 7 3 5 6 9 A= -3 8 -6 7 5 4 2 -9 6 -5 6 2 解: 写成矩阵形式: A*x=b 8 b= 19 -5 12 x1 x= x2 x3 x4
编写m文件: 运行程序,显示结果为: >> x1=4.5857 x2=-0.47664 x3=-3.6745 x4=2.0748 A=[3 5 6 9;-3 8 -6 7;5 4 2 -9;6 -5 6 2]; b=[8 19 -5 12]'; x=inv(A)*b; disp(['x1=',num2str(x(1))]); disp(['x2=',num2str(x(2))]); disp(['x3=',num2str(x(3))]); disp(['x4=',num2str(x(4))]); 运行程序,显示结果为: >> x1=4.5857 x2=-0.47664 x3=-3.6745 x4=2.0748
图形系统 二维三维绘图 例:画出函数y=exp(-x/10)*sin(x)的图像 解: 编写M文件: x=0:0.01:20*pi; y=exp(-x/10).*sin(x); plot(x,y); title('衰减震荡');
运行程序,结果如下:
例:画出三维曲面z=x^2+y^2 解: 编写m文件: [X,Y]=meshgrid(-10:0.1:10); Z=X.^2+Y.^2; mesh(X,Y,Z);
运行程序,结果如下:
图形界面设计 例:MATLAB自带的一个demo
动画设计 例:一个沿曲线运动的小球 m文件如下: x=-5:0.1:5; y=sin(x); h1=plot(x,y); set(h1,'linewidth',5); set(h1,'color','r'); hold on; set(gcf,'DoubleBuffer','on'); index=[1:length(x),length(x):-1:1]; for i=index; h2=scatter(x(i),y(i)); set(h2,'linewidth',10); pause(0.02); set(h2,'visible','off'); end
运行程序,显示一个运动的小球
动态系统仿真 例:一因果系统可由以下微分方程描述: y''(t)+3y'(t)+2y(t)=f(t) 输入f(t)=2u(t),u(t)为阶跃信号 系统初始状态为零,求系统响应
使用simulink构造系统如图:
仿真结果如图:
专业工具箱:Toolbox 例:图像变形系统(图像处理工具箱) 源图像 中间图像一 中间图像二 中间图像三 目标图像
(4)MATLAB通用指令(重点) Clear:清除工作空间 Clc:清除命令窗口 Exit或quit:退出MATLAB Pwd:显示当前路径 增加工作路径: Fileset pathadd folder Dir或ls:显示当前路径所有文件 What: 显示当前路径下的所有m文件 Diary: 创建日志文件 Format:控制输出格式
常用功能键: 上下方向键:调出历史命令(先输入字符串,可以调出最近的以该字符串开头的命令) Tab键:列出以某些字符开头的所有命令 Home键:将光标移动到一行的开始处 End键:将光标移动到一行的末尾处 Ctrl+A:全选 Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+R:添加注释 Ctrl+T:取消注释 Ctrl+I:智能排序
(5)MATLAB帮助系统 help+命令: 查找该命令有关的帮助信息 helpwin+命令: 以窗口形式显示有关帮助信息 help菜单:全面系统的帮助 网络资源: Mathworks公司:http://www.mathworks.com/ 九州恒润:http://www.hirain.com/ 编程爱好者论坛:http://www.programfan.com/club/ 仿真科技论坛http://www.simwe.com/forum/ 研学论坛http://bbs.matwav.com/index.jsp baidu&google