Matlab2012入门教程

所需积分/C币:50 2013-10-14 17:22:31 6.81MB PDF

一本MATLAB基础入门教材,从最基础的操作到SIMULINK仿真
MATLAB默认的预定义变量 在 MATLAB中有一些所谓的预定义变量( Prcdcfincd variable),见表13-1。每当 MATLAB启动,这些变量就被产生。这些变量都有特姝含义和用途。建议:用户在编写指 令和程序时,应尽可能不对表1.3-1所列预定义变量名重新赋值,以免产生混淆。 表13-1 MATLAB中最常用的预定义交量 预定义变量 预定义变量 义 ans 讦算结果的默认变量名「‖NaN或nan不是一个数( Not a number), eps 机器零阙值 如00,∞/ m或mnf无穷大,如 nargIn函数输入宗量数目 1政了廉单== nargout 两数输出宗量数目 pi圆周率兀 realmax最大正实数 realmin 最小正实数 〖说明〗 假如用户对表中任何一个预定义变量中进行赋值,则那个变量的默认值将被用户新赋的 值“临时”覆盖。所谓“临时”是指:假如使用 clear指令淸除 MATLAB内存屮的变 量,或 MATLAB指令窗被关闭后重新启动,那么所有的预定义变量将被重置为默认值, 不管这些预定义变量曾被用户赋过什么值 在遵循IEE算法规则的机器上,被0除是允许的。它不会导致程序执行的中断,只 是在给出警告信息的同时,用一个特姝名称(如In,NaN)记述。这个特妹名称将在 以后的计算中以合理的形式发挥作用。 【例1.3-3】运用以下指令,以便初步了解预定义变量。本例演示:预定义变量已绎存在的 事实;若干预定义变量的数量级概念。 format long realmax ans 1,797693134862316e+308 realmin ans 2.225073858507201e-308 eps ans 2.220446049250313e-016 工 ans 3.14159265358919 四运算符和表达式 (1)经典教科书上的算术运算符在 MATLAB中的表达方式,见表13-2。 表13-2 MATLAB表达式的基木运算符 数学表达式 矩阵运算符 数组运算符 a+b a +b a+b 加减乘除幂 a-b a×b a a÷b a/b或b、a /b或b.a n b ab 园括号 说明〗 因为 MATLAB面向复数设计,其所有运算定义在复数域上。所以对于方根问题,运算 只返还一个“主解”。要得复数的仝部方根,必须专门编写程序(见例1.36)。 因为 MATLAB面向矩阵/数组设计,标量被看作(1×1)的矩阵数组 数组运算的“乘、除、幂”规则与相应矩阵运算根本不同。前者的算符比后者多一个“小 黑点”。(参见例1.3-9,例1.3-10。更详细说明请看第3章) MATLAB用左斜杠或右斜杠分别表小“左除”或“右除”运算。对标量而言,“左除” 和“右除”的作用结果相同。但对矩阵来说,“左除”和“右除”将产生不同的结果 (2) MATLAB书写表达式的规则与“手与算式”儿乎完全相同。 表达式由变量名、运算符和函数名组成 表达式将按与常规相同的优先级自左至右执行运算 优先级的规定是:指数运算级别最高,乘除运算次之,加减运算级别最低。 括号可以改变运算的次序 书写表达式时,赋值符“=”和运算符两侧允许有空格,以増加可读性。 五而向复数设计的运算 - MATLAB特点之一 MATLAB的所有运算都是定义在复数域上的。这样设计的好处是:在进行运算时,不 必像其他程序语言那样把实部、虚部分开处理。为描述复数,虚数单位用预定义变量i或j 表 复数z=a+bi=re直角坐标表示和极坐标表示之间转换的 MATLAB指令如下。 real(z) 给出复数z的实部a=reos0。 ImagI) 给出复数z的虚部b=rsin0。 bs(z) 给出复数z的模√a+b b angle(z)以弧度为单位给出复数z的幅角 arctan 8 【例134】复数2=3+4122=1+2,x3=2e6表达,及计算z=212。本例演示:止 确的复数输入法:涉及复数表示方式的基木指令。 (1)经史教科书的直角坐标表小法 z1=4+3i 号合法,但建议少用或不用 4.0000+3.0000i 〖说明〗 本书建议读者不要使用这种输入格式。因为这种书写格式,只适用于“数值标量”复数, 而个适用于“数值矩阵” 在这种书写格式中,4是一个完整的虚数,在4和i之间不许“空格”存在。 (2)采用运算符构成的直角坐标表小法和板坐标表小法 z2=1+2*立 号运算符构成的直角坐标表示法 z3=2*exp(i*pi/6) 告运算符构成的极坐标表示法 z=z1*z2/z3 2 1.0000+2.0000i 1,7321+1.0000i 1.8840+5.2631 (3)复数的实虚部、模和幅角计算 real z=real(z) image z=imag(z) magnitude z=abs(z) angle z radian=angle(z) 告弧度单位 angle z degree=ang1e(z)*180/pi度数单位 ea12= 1.8840 image z 5.2631 magnitude z 5902 angle z radian 1.2271 angle z degree 70.3048 【例135】图示复数z1=4+3i,22=1+2i的和(配图1.32)。本例演示: MATLAB的运 算在复数域上进行:指令后“分号”的作用:复数加法的几何意义;展示 MATLAB的可视 化能力(让读者感受,但不要求理解)。 z1=4+3*i;z2=1+2*i;在一个物理行中,允许输入多条指令。 号但各指令问要用“分号”或“逗号”分开。 号指令后采用“分号”,使运算结果不显示。 z12=21+z2 号以下用于绘图 clf, hold on 8c1£清空图形窗。逗号用来分隔两个指令 plot([0, zl, z12],-b,'LineWidth, 3) plot([0, z12],-r''Linewidth3 plot([z1, z12],'ob,'MarkerSize, 8 hold off, grid on, axis equal axis([0,6,0;6]) text(3.5,2.3;"z1") text(5,4.5,'z2") text(2.5,3.5;"z12") xlabel('real' ylabel('image) h shg z12 5.0000+5.0000i 212 2 -----2--- 5 al 图1.3-2两个复数相加 【例1.3-6】用 MATLAB计算3=8能得到-2吗(配图1.3-3)?木例演示: MATLAB运 10 算定义在复数域的实质;指令后“分号”抑制运算结果的显示; MATLAB的方根运算规则 更复杂指令的表示方式;展现 MATLAB的图形表现力。(对于本例指令,读者能有体验就 可,不必强求理解。) (1)直接计算时,得到处」第一象限的方根。 8 ra=a^(1/3)号求3次根 1,0000+1.7321i (2)3-8的全部方根计算如下 告先构造一个多项式p(r)=r-a P=[1,0,0,-a];8是多项式p(n)的系数向量 号指令末尾的“英文状态分号”使该指令运行后,不显示结果。 R= roots(P)号求多项式的根 R -2.C000 1.0000+1.7321i 1.0000-1.7321i (3)图形表示 MR=abs(R(1));号计算复根的模 t=0:Pi/20:2*pi;号产生参变量在0到2*p间的一组采样点 X=MR★sin(t); y=MR*cos(t)i plot(x, y, 'b: ' ),grid on 号画一个半径为R的圆 告注意“英文状态逗号”在不同位置的作用 hold on plot(R(2),., MarkerSize, 30,'Color ',r) 号田第一象限的方根 plot(R([1,3]),'o'," Markersize',15,"Co1or',"b")号画另两个方根 axis([-3,3,-3, 3]), axis square 号保证屏幕显示呈真圆 hold off 11 3 -2--------}------ 0 H++- 图1.3-3(8)的全部三次方根分布 (说明〗 本例有助于理解 MATLAB的计算特点。 对复数进行方根运算时, MATLAB只给出处」“第一象限”的那个根 六面向数组设计的运算 MATLAB特点之二 在 MATLAB中,标量数据被看作(1×1)的数组(Aray)数据。所有的数据都被存放在 适当大小的数组中。为加快计算速度(运算的向量化处理), MATLAB对以数组形式存储的 数据设计了两种基本运算:一种是所谓的数组运算;另一种是所谓的短阵运算。在此仅以算 例展小 MATLAB的计算特点,史详细的叙述请见第3章。 【例1.7】实数数组AR=1的“行”输入法。木例演示:二维数组的最基木、最 常用输入法;维数组输入的三大要素。 (1)在键盘上输入下列内容 AR=[1,3;2,4] (2)按[nter]键,指令被执行。 (3)在指令执行后, MATLAB指令窗中将显示以下结果 AR 〖说明〗 在 MATLAB中,不必事先对数组维数及大小做任何说明,内存将自动配置。 二维数组输入的三大要素:数组标识符“[]”:元素分隔符空柊或逗号“,”;数组行间 分隔符分号“;”或“回车键”。注意:所有标点符号都是“英文状态的符号” MATLAB对字母大小写是敏感的。比如本例中的数组赋给了变量AR,而不是Ar.aR, 或 在全部键入一个指令行内容后,必须按下[ Enter]键,该指令才会被执行。请读者务必 记住此点。出于叙述简明的考虑,木书此后将不再重复提及此操作 【例1.3-8】实数数组AI= 6。的“分行”输入法。 AT=[5,7 6,8] 2工= 〖说明〗 本例采用这科输入法是为了视觉习惯。当然,对于较大的数组也可采用此法 在这种输入方法中,“回车”符用来分隔数组中的行 1-5i3-7i 【例1.3-9】对复数数组A= 进行求实部、虚部、模和榀角的运算。木例演 2-6i4-8 复数数组的生成; MATLAB指令对数组元素“并行操作”的实质 (1)创建复数数组 AR=[1,3;2,4];AI=[5,7;6,8] A=AR-AT*立 号形成复数矩阼 1.0000-5.0000i3.0000-7.0000i 2.0000-6.0000i4.0000-8.0000i (2)求复数数组的实部和虚部 A real=real(A) A image=imag(A) A real A image 6 (3)求复数数组中各元素的模和幅角—循环法(笨拙!) f。ym=1:2 for n=1: 2 Aml(m, n)=abs(a(m, n))i 13

...展开详情
试读 127P Matlab2012入门教程
img
戟灵

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    Matlab2012入门教程 50积分/C币 立即下载
    1/127
    Matlab2012入门教程第1页
    Matlab2012入门教程第2页
    Matlab2012入门教程第3页
    Matlab2012入门教程第4页
    Matlab2012入门教程第5页
    Matlab2012入门教程第6页
    Matlab2012入门教程第7页
    Matlab2012入门教程第8页
    Matlab2012入门教程第9页
    Matlab2012入门教程第10页
    Matlab2012入门教程第11页
    Matlab2012入门教程第12页
    Matlab2012入门教程第13页
    Matlab2012入门教程第14页
    Matlab2012入门教程第15页
    Matlab2012入门教程第16页
    Matlab2012入门教程第17页
    Matlab2012入门教程第18页
    Matlab2012入门教程第19页
    Matlab2012入门教程第20页

    试读已结束,剩余107页未读...

    50积分/C币 立即下载 >