您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第二章 MATLAB程序设计基础
第二章MATLAB程序设计基础*第一节教学目标1基本运算介绍。2变量的概念。3系统函数的概念。4一般的应用问题转换为计算机模型。第二章MATLAB程序设计基础一、基本运算第二章MATLAB程序设计基础一、基本运算简单的数学运算1+2+3+4+51+2+3+4+5;第二章MATLAB程序设计基础一、基本运算复杂一点点的数学运算已知:x=15,y=10,z=7求解:(x+2Y+5z)/3x=15;y=10;z=7;(x+2*y+5*z)/3第二章MATLAB程序设计基础一、基本运算操作数运算符第二章MATLAB程序设计基础一、基本运算1MATLAB算术运算符加、减、乘、除、幂次方+-*/\^运算次序:自左向右运算。^优先级最高,乘除次之,后加减。如果有括号,括号优先执行。第二章MATLAB程序设计基础一、基本运算2format命令用来显示计算的精度。不是用来改变计算的精度。MATLAB默认以double(双精度)进行运算和存储。使用format可以控制数据不同的显示格式。formatshortformatshorteformatlongformatlongeformatratformatbank第二章MATLAB程序设计基础一、基本运算2format命令用pi来测试一下显示精度:piformatshortpiformatlongpiformatratpi第二章MATLAB程序设计基础二、变量变量——程序执行过程中可以变化的量。MATLAB中的变量可以由用户指定变量名。通过变量名随时可以引用变量和修改变量。第二章MATLAB程序设计基础二、变量MATLAB特殊之处:无需进行变量声明。(遇到新变量名时,自动生成变量,并指定合适的存储空间。如变量早已存在,则自动更新。)***利与弊的分析***第二章MATLAB程序设计基础二、变量1.系统特殊变量1+2+3+4+5ans是个特殊的系统变量。没有指定变量来存储运算结果时,系统会自动将结果存储在临时变量ans中。第二章MATLAB程序设计基础二、变量1.系统特殊变量MATLAB的系统特殊变量ans:临时变量pi:πinf:无穷大eps:极小值NaN:NotaNumber(NotAvailable)nan:同上i:虚数sqrt(-1)j:虚数sqrt(-1)第二章MATLAB程序设计基础二、变量2自定义变量注意我的这些操作:a=1abc=1+2+3+4+5a=1;b=3;c=5;A=2,B=4,C=6area=r^2?第二章MATLAB程序设计基础二、变量2自定义变量命名规则*变量名由字母、数字和下划线组成。字母间不可留空格且第一个字符必须为字母*区分大小写。*变量名的长度上限为n个字符。补充:*变量名不能为中文;*系统变量名不要和自定义重名。第二章MATLAB程序设计基础二、变量万一自定义变量名和系统变量名一样结果会怎样?怎么办?第二章MATLAB程序设计基础二、变量观察下面的变量名是否合理?isvarnamemyVarNameisvarname7myVarName第二章MATLAB程序设计基础二、变量3获取当前变量命令行直接键入变量名。第二章MATLAB程序设计基础二、变量4变量的显示精度控制显示精度函数:format控制精度计算的函数:•digits(n):设置缺省的精度;•vpa(S,n):将S表示为n位有效位数的形式。第二章MATLAB程序设计基础4变量的显示精度问题:积少成多的累计误差?(1/3+1/3)=?formatlong1/3+1/3第二章MATLAB程序设计基础s=1/3+1/3digits(2)s?vpa(s)vpa(s,10)s=1+1/3+1/3?4变量的显示精度第二章MATLAB程序设计基础二、变量5查看变量who:查看当前工作区(workspace)的变量。whos:查看当前变量的详细信息。第二章MATLAB程序设计基础二、变量6清除变量clear:清除所有定义过的变量。clear变量名:清除某个变量。第二章MATLAB程序设计基础二、变量7变量的初始化(三种方式)1.用赋值语句初始化变量。2.用input函数从键盘输入初始化变量。例如:in1=input('enterdata:');Enterdata:1.23in2=input('enterdata:','s')Enterdata:1.23in1+in2(?)3.从文件读取一个数据。(以后介绍)第二章MATLAB程序设计基础二、变量8变量的作用域(1)局部变量(Local)(2)全局变量(Global)(3)永久变量(Persistent)第二章MATLAB程序设计基础二、变量7变量的作用域局部变量:在函数中使用的变量,只能在函数的范围内使用。全局变量:在命令文件或工作空间中定义。用global定义全局变量。globalGvar1Gvar2Gvar3永久变量:只能在函数文件中定义和使用,只允许定义它的函数存取。只有清除函数或者关闭MATLAB时,才能从内存中清除它们。persistentperVar;第二章MATLAB程序设计基础四、函数相关知识3变量的作用域局部变量:在函数中使用的变量,只能在函数的范围内使用。全局变量:在命令文件或工作空间定义。用global定义全局变量。globalvar1var2var3例如:(?)func1.mfunctiony=func1(x)globalGvar;(?)y=x;Gvar=x*10func2.mfunctiony=func2(x)globalGvar;y=x;Gvar=x*100例如:globalGvar(!!)func1.mfunctiony=func1(x)globalGvar;Y=x;Gvar=x*10func2.mfunctiony=func2(x)globalGvar;Y=x;Gvar=x*100第二章MATLAB程序设计基础tips:尽量不使用全局变量和永久变量!第二章MATLAB程序设计基础三、常用函数初等数学函数:helpelfun高等数学函数:helpspecfunhelpelmat第二章MATLAB程序设计基础三、常用函数注意问题:(1)等式中,函数一定是出现在等式的右边。(2)函数参数要求。(变量个数和格式要求)(3)允许函数嵌套。第二章MATLAB程序设计基础四、现实问题转化为数学模型例如:哥哥弟弟年龄问题。哥哥比弟弟大19岁,哥哥年龄是弟弟的3倍还多1,问:哥哥和弟弟的年龄分别是多少?第二章MATLAB程序设计基础四、现实问题转化为数学模型例如:吃桃问题。桃子1毛钱一个,每3个桃核可以换一个桃子。如果有一元钱,问:一共能吃到多少桃子?课后任务一、熟悉基本数学运算。二、熟练使用变量的相关应用。第二章MATLAB程序设计基础*第二节教学目标通过实例演练熟悉部分常用函数。第二章MATLAB程序设计基础实战演练常用函数的使用第二章MATLAB程序设计基础函数?第二章MATLAB程序设计基础小整理:MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度sqrt(x):开平方real(z):复数z的实部imag(z):复数z的虚部conj(z):复数z的共轭复数angle(z):复数z的相角round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为多项分数展开rats(x):将实数x化为分数表示第二章MATLAB程序设计基础小整理:MATLAB常用的基本数学函数sign(x):符号函数(Signumfunction)。当x0时,sign(x)=-1;当x=0时,sign(x)=0;当x0时,sign(x)=1。rem(x,y):求x除以y的馀数gcd(x,y):整数x和y的最大公因数lcm(x,y):整数x和y的最小公倍数exp(x):自然指数pow2(x):2的指数log(x):以e为底的对数,即自然对数log2(x):以2为底的对数log10(x):以10为底的对数第二章MATLAB程序设计基础实战1:函数abs功能数值的绝对值与复数的幅值格式Y=abs(X)%返回参量X的每一个分量的绝对值;%若X为复数的,则返回每一分量的幅值%abs(X)=sqrt(real(X).^2+imag(X).^2)例x=-18;z1=abs(x)y=-2+4i;z2=abs(y)第二章MATLAB程序设计基础实战2:函数sqrt功能求平方根函数格式Y=sqrt(X)%数值的平方根运算例x=16;z1=sqrt(x)y=-18;z2=sqrt(y)f=2+4i;z3=sqrt(f)第二章MATLAB程序设计基础实战3:函数exp功能以e为底数的指数函数格式Y=exp(X)%对参量X的每一分量,求以e为底数的指数函数Y。%X中的分量可以为复数。%对于复数分量如,z=x+i*y,%则相应地计算:e^z=e^x*(cos(y)+i*sin(y))。例x=3;z1=exp(x)y=-3;z1=exp(y)f=2+4i;z3=exp(f)第二章MATLAB程序设计基础实战4:函数log功能自然对数,即以e为底数的对数。格式Y=log(X)%对参量X中的每一个元素计算自然对数。%其中X中的元素可以是复数与负数,但由此可能得到意想不到的结果。%若z=x+i*y,则log对复数的计算如下:%log(z)=log(abs(z))+i*atan2(y,x)例:x=20.0855z1=log(x)f=2+4i;z3=log(f)下面的语句可以得到无理数π的近似值:pai=abs(log(-1))第二章MATLAB程序设计基础实战5:函数log10功能常用对数,即以10为底数的对数。格式Y=log10(X)%计算X中的每一个元素的常用对数,%若X中出现复数,则可能得到意想不到的结果。例x=10;z1=log10(x)y=-10;z1=log10(y)f=2+4i;z3=log10(f)第二章MATLAB程序设计基础实战6:函数lcm功能整数x和y的最小公倍数格式z=lcm(x,y)%计算整数x和y的最小公倍数例x=10;y=23;z1=lcm(x,y)x=10;y=2;z2=lcm(x,y)x=10;y=-2;//?z3=lcm(x,y)第二章MATLAB程序设计基础实战7:函数gcd功能整数x和y的最大公约数格式z=gcd(x,y)%计算整数x和y的最大公约数例x=10;y=23;z1=gcd(x,y)x=10;y=2;z2=gcd(x,y)x=10;y=-2;z3=gcd(x,y)第二章MATLAB程序设计基础实战8:函数real功能复数的实数部分。格式Y=real(Z)%返回输入参量Z的每一个分量的实数部分。例f=3+8i;z=real(f)第二章MATLAB程序设计基础实战9:函数imag功能复数的虚数部分格式Y=imag(Z)%返回输入参量Z的每一个分量的虚数部分。例f=9+7i;z=imag(f)第二章MATLAB程序设计基础实战10:函数conj功能复数的共轭值格式ZC=conj(Z)%返回参量Z的每一个分量的共轭复数:%conj(Z)=real(Z)-i*imag(Z)例f=9+7i;z=conj(f)如果两复数的实部相等,虚部系数互为相反数,那么,这两个复数叫做共轭复数.共轭复数的乘积是一个实数.提问:什么是复数的共轭值?第二章MATLAB程序设计基础实战11:函数sin功能正弦函数格式Y=sin(X)%计算参量X(可以是向量、矩阵,元素可以是复数)%中每一个角度分量的正弦值Y***所有分量的角度
本文标题:第二章 MATLAB程序设计基础
链接地址:https://www.777doc.com/doc-3840982 .html