matlab应用案例分析
变量要求
变量名、函数名区分字母的大小写。如SIN、Sin与 sin是不同的
对6.5以前的版本,变量名字符不超过31个,对6.5 版本,变量名最多可包含63个字符。超出长度的字 符被忽略
变量必须以字母开头,之后可以是任意字母、数字 或者下滑线,但不能是空格和标点
Matlab不支持汉字,汉字不能出现在变量名和文件 名中
用text命令可以在图形的任意指定位置增加标记和 其他文本信息,格式是text(x,y,’string’).
2020/4/23
25
>> plot(x,y,x,z) >> grid >> title(‘sin(x) and cos(x)’) >> xlabel(‘independent variable x’) >> ylabel(‘dependent variable y and z’) >> text(2,0.8.’sin(x)’)
号将导致matlab出错。 inc缺省值为1,可以取正数或负数。
2020/4/23
16
语句生成矩阵
3.linspace命令
a=linspace(1,10,5);%产生线性等间距的列向量
4.logspace命令
b=logspace(0,2,10);%产生对数等间距的列向量
5.矩阵连接
c=[a b];
for 和end之间的命令串按数组array的每一列执行 一次,直到n次后终止。
2020/4/23
19
1 For循环应当注意的一些方面
1. for循环不能使用内部重新赋值循环变量而终止; 2. for循环内部接受任何有效的MATLAB数组; 3. for循环可以嵌套; 4. 只要有矩阵形式可以解决的问题,不要使用for循
2020/4/23
24
线型和标记
Plot命令中,在每一对数组数据后面,给plot一个 附加参量,就可以指定所要的颜色和线型。 >>plot(x,y,’rd’,x,z,’k--’,x,y,’b-.’,x,z,’co’) b蓝色,c青色,g绿色,k黑色,m紫红色,r红色,w白 色,y黄色
加格线和标注,grid on命令在当前图形的单位标 记处加格线。grid off命令取消格线。
2020/4/23
6
1.4 解决物理问题常用的软件
Mathmatica 数学计算功能。复杂符号计 算,主要在理论界
MAGIC 电磁粒子仿真软件 仿真软件:HFSS、CST等等
2020/4/23
7
二、MATLAB基础使用
2.1 MATLAB操作界面简介 操作桌面的缺省外貌
与先前版本相比,6.x版引入大量的交互工作界 面,如通用操作界面、帮助界面、演示界面等
2020/4/23
15
三、MATLAB的数组(矩阵)及其运算
3.1 数组(矩阵)的创建 1.直接输入法
整个输入数组必须以方括号“[]”为其首尾 数组的行与行之间必须用”;”或者【Enter】隔离 数组元素必须由逗号”,”或空格分隔
2.一维数组的冒号生成法 x=a:inc:b
a是数组的第一个元素,inc是间隔,b是最后一个元素 a,inc,b之间的冒号须在英文状态下输入。中文中的冒
2020/4/23
26
plot应用举例——画一个圆
程序如下:
2
R=2;
1
t=0:pi/20:2*pi;
0
x=R*sin(t);y=R*cos(t)
-1
plot(x,y,'b:'),grid
-2
-2
-1
0
1
2
2020/4/23
27
例1——无阻力抛射体的运动
设试目 计标算相物对体于在射真点空的中高飞度行为的y时f 间,和给距定离初。速,
6. 数组生成函数 zeros ones eye rand randn
2020/4/23
17
3.2 矩阵运算
矩阵的转置 用符号’来表示和实现 非共轭转置 .’
矩阵的四则运算 +-*/ \ 点乘:.* 右除:./ 左除:.\
矩阵的乘方 ^矩阵乘方 .^元素对元素的乘方
2020/4/23
18
四、流程控制
为了便于应用,MATLAB提供了一些流程控制的命 令。这些命令对脚本编写带来了一些方便,但是需 要注意的是,尽量不要使用这些流程控制命令,尤 其是循环控制命令。
1 for循环 for循环允许一组命令以固定的次数重复,它的一
般形式是
for x=array command end
2020/4/23
11
怎样获得详尽的帮助信息
1. 首先是MATLAB窗口中的help命令,它最常用、最快,往往也是最 有效的。给出关键字就能找到相应的说明。Help命令简单易用,但 是它要求准确给出关键字,如果记忆不准,就很难找到。这时就应 该用第二种方案。
2. Help Desk:这是MATLAB的HTML格式的帮助文档,有着很好的 组织。可以在命令行键入helpdesk,进入“Matlab Help Desk”。 Help Desk的搜索可以使用不完全关键字,这样即使遇到记忆模糊 的情况也可以很快查到。
指令窗、历史指令窗、工作空间浏览器和只有 窗名的当前目录窗
“开始”按钮(matlab6.5版本新加)
通用操作界面
2020/4/23
8
通用交互界面介绍
内存数组编辑器(Array Editor) 在工作空间浏览器中对变量操作时才启动
交互界面分类目录窗(Lauch Pad)。 可展开成树状结构,列着所有交互界面。
70年代末期,Cleve Moler 在新墨西哥大学给学 生开线性代数,为学生编写了接口程序,这程序取 名为MATLAB,即MATrix LABoratory
1983年春天,工程师John Little与Moler、 Steve Bangert一起开发了第二代专业版MATLAB
1984年,MathWorks公司成立,MATLAB正是推 向市场。
2020/4/23
4
1.2 Matlab的版本演化
Matlab 1.0 Pc matlab->matlab 386 Matlab3.5+simulink Matlab 4.0:simlink内嵌 Matlab 5.0 :全面的面向对象 Matlab 5.1~5.3 Matlab 6.0 Matlab 6.5:购并了MATRIXx Matlab 7.0:2004
2020/4/23
13
特殊变量
特殊变量 ans pi eps inf Nan或nan ij
realmin realmax
取值 用于结果的缺省变量名 圆周率 计算机的最小数 无穷大 如1/0 不定量 如0/0
i=j= 1
最小的可用正实数 最大的可用正实数
2020/4/23
14
2.5 复数
不需要特殊的处理。复数可以表示为:>>a=10-9i >>a=10-9j % i=j=sqrt(-1)
3. 前面两种方法所得到的帮助信息常常是不够细致的,需要用第三种 途径来补充,这就是电子版的使用手册。MATLAB里包含了大量关 于MATLAB安装、使用、编程以及各种工具箱等的电子版手册,全 部为PDF格式,具有搜索功能,因此也可以在指定的手册中搜索关键 字,使用非常方便。
2020/4/23
12
2.4 Matlab变量
◆建模 无阻力抛射体的飞行是中学物理就解决了的 问题,本题的不同点是目标和射点不在同一 高度上,用MATLAB可使整个计算和绘图过 程自动化。其好处是快速地计算物体在不同 初速和射角下的飞行时间和距离。关键是在
求落点时间 t f 时,需要解一个二次线性代速
方程。
2020/4/23
28
MATLAB程序
while expression
commonds
end
只要表达式expression里的所有元素为真,就执 行命令串commands。通常表达式求值给一个标 量值,单数组值也同样有效。
2020/4/23
21
3 if-else-end结构
很多情况下,命令的序列必须根据关系的检验有条 件的执行,它由if-else-end结构提供。它的结构 如下:
M文件编辑/调试器(Editor/Debugger) 当进行“打开文件”操作时才启动。
帮助导航/浏览器(Help avigator/Browser) 详尽展示由超文本写成的在线帮助。
2020/4/23
9
2.2 Matlab命令的两种执行方式
一.交互式的命令执行方式
用户在命令窗口逐条输入命令,matlab逐条执 行,这种方式操作简单直观,但速度慢,中间 过程无法保留。通用操作界面
2020/4/23
23
2 plot(x,y,’s’)
x,y为同维向量时,绘制以x、y元素为横、 纵坐标的曲线。
3 plot(x1,y1,’s1’,x2,y2,’s2’,…)
在此格式中,每个绘线“三元组”(x,y,’s’) 的结构和作用,与plot(x,y,’s’) 相同,不同 的三元组之间没有约束。
二.M命令文件的程序设计方式
将有关命令编成程序存储在一个文件(扩展名 为.m)中,matlab自动依次执行,可调试复杂 的程序(调试时只显示第一个错误),是实际应 用中主要的执行方式
2020/4/23
10
2.3 帮助的使用
MATLAB中有以下几种方法获得帮助:帮助命令、帮 助窗口、MATLAB帮助台、在线帮助页或用Web菜单 直接链接到MathWorks公司的主页。
clear;y0=0;x0=0;
%初始位置
vMag=input(‘输入初始速度(m/s):’); %输入初始速度的大小和方向