matlab基础matlab概述.ppt

上传人:wuy****n92 文档编号:70792911 上传时间:2023-01-28 格式:PPT 页数:78 大小:1.46MB
返回 下载 相关 举报
matlab基础matlab概述.ppt_第1页
第1页 / 共78页
matlab基础matlab概述.ppt_第2页
第2页 / 共78页
点击查看更多>>
资源描述

《matlab基础matlab概述.ppt》由会员分享,可在线阅读,更多相关《matlab基础matlab概述.ppt(78页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1MATLAB基础尚涛,电子信息工程学院尚涛,电子信息工程学院Tel:010-823172222 通过本课程的学习,使学生初步掌握初步掌握当前流行的MATLAB语言的基础知识基础知识,学会运用MATLAB进行科学数据处理、计算和建模的基本基本技能技能,为今后从事毕业设计、工程设计、产品开发和科学研究打下较好的基础。课程任务3教学内容与学时安排第一节第一节 概述及运算基础(概述及运算基础(2 2)第二节第二节 数值运算和符号运算数值运算和符号运算 (2 2)第三节第三节 MATLABMATLAB绘图和程序设计(绘图和程序设计(2 2)第四节第四节 GUIGUI设计和神经网络应用(设计和神经网络应

2、用(2 2)考试成绩总学时:16(其中上机学时8)平时成绩(10%)+实验成绩(上机10%+报告20%)+期末考试(60%)上课时间地点安排4周一周一周二周二周三周三周四周四周五周五12节上课J3-106上课J0-001上课J0-00134节上机上机上机考试56节上课J0-00178节上机班级班级上机地点上机地点140221/22实601140223/24实602140225/26/27实603140228/29/其他实7035具体安排平时成绩:出席,每节由教辅统计实验内容上机时从大班邮箱下载。实验:实验结果和实验报告(周一-周四),周五下午2点之前由各班学委将实验报告电子版收齐提交给教辅。考

3、试:7月17日周五上午3 4节地点(J0-001 J0-002 J0-003)*若个别学生不在名册,与我联系!郭双郭双140221 赵健赵健140224 张晓宇张晓宇140227吴绪悦吴绪悦 140222 黄宇晴黄宇晴140225 佘昌洋佘昌洋140228张明张明140223 张文秋张文秋140226 杜岗杜岗140229周修文周修文 其他其他6参考书目l尚涛尚涛,MATLAB,MATLAB基础及其应用教程基础及其应用教程,北京:电子工业出版北京:电子工业出版社,社,2014 2014年年8 8月。月。l张学敏,倪虹霞,张学敏,倪虹霞,MATLAB基础及应用,北京:中国基础及应用,北京:中国电

4、力出版社,电力出版社,2009 年年2月。月。l刘同娟,郭键,刘军,刘同娟,郭键,刘军,MATLAB建模、仿真及应用,建模、仿真及应用,北京:中国电力出版社,北京:中国电力出版社,2009 年年4月。月。l胡良剑,孙晓君,胡良剑,孙晓君,MATLAB数学实验,北京:高等教数学实验,北京:高等教育出版社,育出版社,2006年年6月。月。l马莉,马莉,MATLAB数学实验与建模,北京:清华大学出数学实验与建模,北京:清华大学出版社,版社,2010年年1月。月。lhttp:/ Learning MATLAB Using the Control System Toolbox.什么是仿真什么是仿真?生活

5、中有没有生活中有没有?78仿真的定义9仿真(仿真(SimulationSimulation):利用模型复现实际系统中发生的本质过程,并通过对系统模型的实验来研究存在的或设计中的系统,又称模拟。10仿真的分类v 按模型分类按模型分类1、物理仿真:利用实物或者它的物理模型进行研究、物理仿真:利用实物或者它的物理模型进行研究l具有效果逼真,精度高等优点,但造价高或耗时长,具有效果逼真,精度高等优点,但造价高或耗时长,大多在一些特殊场合下采用(如导弹、卫星一类飞行大多在一些特殊场合下采用(如导弹、卫星一类飞行器的动态仿真,发电站综合调度仿真与培训系统等),器的动态仿真,发电站综合调度仿真与培训系统等)

6、,优点是直接、形象、可信;缺点是模型受限、易破坏、优点是直接、形象、可信;缺点是模型受限、易破坏、难以重复利用。难以重复利用。2、计算机仿真:根据相似性原理,利用计算机模拟研究、计算机仿真:根据相似性原理,利用计算机模拟研究系统。系统。l计算机仿真的三个基本要素:系统、模型、计算机。计算机仿真的三个基本要素:系统、模型、计算机。l与计算机仿真要素相对应工作是:模型的建立、系统与计算机仿真要素相对应工作是:模型的建立、系统的组装、仿真实验。的组装、仿真实验。11具体的工作过程:具体的工作过程:1、建立系统的数学模型;、建立系统的数学模型;2、仿真系统的组装,包括设计仿真算法、编制计算机、仿真系统

7、的组装,包括设计仿真算法、编制计算机程序使仿真系统的数学模型能为计算机所接受并在计程序使仿真系统的数学模型能为计算机所接受并在计算机上运行;算机上运行;3、运行仿真模型,进行仿真试验,再根据仿真试验的、运行仿真模型,进行仿真试验,再根据仿真试验的结果进一步修正系统的数学模型和仿真系统。结果进一步修正系统的数学模型和仿真系统。121 1、程序编程阶段:所有问题(如:微分方程求所有问题(如:微分方程求解、矩阵运算、绘图等)都是用高级算法语言解、矩阵运算、绘图等)都是用高级算法语言(如(如C C、FORTRANFORTRAN等)来编写。等)来编写。2 2、程序软件包阶段:出现了出现了“应用子程序库应

8、用子程序库”。3 3、交互式语言阶段(仿真语言:仿真语言可用一仿真语言可用一条指令实现某种功能,如条指令实现某种功能,如“系统特征值的求解系统特征值的求解”,使用人员不必考虑什么算法,以及如何实,使用人员不必考虑什么算法,以及如何实现等低级问题。现等低级问题。4、模型化图形组态阶段:符合设计人员对基于模符合设计人员对基于模型图形化的描述。型图形化的描述。仿真软件的发展13常见的几种仿真软件lPSPICE、ORCAD:通用的电子电路仿真软件,适:通用的电子电路仿真软件,适合于元件级仿真。合于元件级仿真。lSYSTEM VIEW:系统级的电路动态仿真软件:系统级的电路动态仿真软件lNS2 OPNE

9、T GlobeSim:网络协议仿真软件网络协议仿真软件lMATLAB:具有强大的数值计算能力,包含各种工:具有强大的数值计算能力,包含各种工具箱,其程序不能脱离具箱,其程序不能脱离MATLAB环境而运行,所以环境而运行,所以严格讲,严格讲,MATLAB不是一种计算机语言,而是一种不是一种计算机语言,而是一种高级的科学分析与计算软件。高级的科学分析与计算软件。lSIMULINK:是:是MATLAB附带的基于模型化图形组附带的基于模型化图形组态的动态仿真环境。态的动态仿真环境。14电子信息工程学院 信息与网络安全实验室Ad hoc 网络安全协议仿真软件网络安全协议仿真软件 15计算机学院虚拟现实技

10、术与系统国家重点实验室 l支持异地分布式虚拟现实研究与开发的支撑环支持异地分布式虚拟现实研究与开发的支撑环境境DVENET、分布交互仿真开发与运行平台、分布交互仿真开发与运行平台BH HLA/RTI 16仿真技术的应用1、航空与航天工业、航空与航天工业2、电力工业、电力工业3、原子能工业、原子能工业4、石油、化工及冶金工业、石油、化工及冶金工业5、非工程领域、非工程领域l医学医学l社会学社会学l宏观经济与商业策略的研究宏观经济与商业策略的研究17应用仿真技术的意义1、经济,采用仿真实验仅需成本的、经济,采用仿真实验仅需成本的1/101/5,而且,而且设备可以重复使用。设备可以重复使用。2、安全

11、,采用仿真实验可以有效降低危险程度,对、安全,采用仿真实验可以有效降低危险程度,对系统的研究起到保障作用。系统的研究起到保障作用。3、快捷,提高设计效率:比如电路设计,服装设计、快捷,提高设计效率:比如电路设计,服装设计等等。等等。4、具有优化设计和预测的特殊功能、具有优化设计和预测的特殊功能18仿真技术的发展趋势1、硬件方面:基于多、硬件方面:基于多CPU并行处理技术的全数字仿真并行处理技术的全数字仿真将有效提高仿真系统的速度,大大增强数字仿真的实将有效提高仿真系统的速度,大大增强数字仿真的实时性。时性。2、应用软件方面:直接面向用户的数字仿真软件不断、应用软件方面:直接面向用户的数字仿真软

12、件不断推陈出新,各种专家系统与智能化技术将更深入地应推陈出新,各种专家系统与智能化技术将更深入地应用于仿真软件开发之中,使得在人机界面、结果输出、用于仿真软件开发之中,使得在人机界面、结果输出、综合评判等方面达到更理想的境界。综合评判等方面达到更理想的境界。3、分布式数字仿真:充分利用网络技术,协调合作,、分布式数字仿真:充分利用网络技术,协调合作,投资少,效果好。投资少,效果好。4、虚拟现实技术:综合了计算机图形技术、多媒体技、虚拟现实技术:综合了计算机图形技术、多媒体技术、传感器技术、显示技术以及仿真技术等多学科,术、传感器技术、显示技术以及仿真技术等多学科,使人置身于真实环境之中。使人置

13、身于真实环境之中。19第第1讲讲 MATLAB概述及运算基础概述及运算基础l尚涛,电子信息工程学院尚涛,电子信息工程学院lTel:010-8231722220本讲目标l了解MATLAB的基本知识l熟悉MATLAB的开发环境l掌握利用MATLAB进行基本运算的方法21主要内容l1.1 科学工程计算与科学工程计算与MATLABl1.2 基本运算功能基本运算功能l1.3 基本数据类型基本数据类型l1.4 数学函数数学函数221.1 科学工程计算与MATLABl科学研究和工程实践中的计算问题科学研究和工程实践中的计算问题l简单问题:计算器或直接手工推导l复杂问题:计算机编程l计算机编程计算机编程l高级

14、编程语言lMicrosoft:VisualC+、VisualBasiclBorland:Delphi、C+BuilderlSun:Javal科学计算软件工具lMathWorks:MATLAB23科研和工程技术人员的首选 MATLABlMATLAB具有用法简单、灵具有用法简单、灵活、结构性强、延展性好等优活、结构性强、延展性好等优点,逐渐成为科技计算、视图点,逐渐成为科技计算、视图交互系统和程序中的首选语言交互系统和程序中的首选语言工具。工具。l功能强大的数值运算功能l强大的图形处理能力l高级但简单的程序环境l丰富的工具箱与模块集l易于扩充24MATLAB是什么?MATLAB(MATrix LA

15、Boratory)是一种以矩)是一种以矩阵运算为基础的交互式程序语言,着重针对科学阵运算为基础的交互式程序语言,着重针对科学计算、工程计算和绘图的需求。计算、工程计算和绘图的需求。首创者首创者 Cleve Moler 教授曾在密西根大学、斯坦教授曾在密西根大学、斯坦福大学和新墨西哥大学任数学与计算机科学教授福大学和新墨西哥大学任数学与计算机科学教授,和和 John Little 等人成立了等人成立了 The MathWorks 公司。公司。该公司于该公司于1984年推出年推出MATLAB,1988年年3.0版,版,1992年年4.0版,版,1997年年5.0版,版,2000年年6.0版,版,2

16、001年年6.5版,最新版本版,最新版本8.0(matlab2015)。)。MATLAB环境介绍环境介绍命令窗口命令窗口Command Window当前文件当前文件夹窗口窗口Current Folder工作空工作空间Workspace命令命令历史窗口史窗口Command History 命令窗口工作空间窗口 用户可以在提示符后输入各种MATLAB命令,并显示命令执行后的结果显示变量的名称、数值和类型,对MATLAB计算环境中从外部导入的数据和计算过程产生的数据变化进行可视化显示。当前文件夹窗口显示在当前工作目录下包含的所有文件命令历史窗口记录了在命令窗口中执行的每个命令27MATLAB特色举例

17、例例1 矩阵生成与运算矩阵生成与运算射雕英雄传射雕英雄传中的一个中的一个“数学问题数学问题”,该问题用半数学该问题用半数学语言描述就是:如何生成一个语言描述就是:如何生成一个 3x3 矩阵矩阵,并将自然数并将自然数 1,2,.,9 分别置成这分别置成这 9 个矩阵元素,才能使得每一行、每个矩阵元素,才能使得每一行、每一列、且主、反对角线上元素相加都等于一个相同的数。一列、且主、反对角线上元素相加都等于一个相同的数。魔方矩阵(即九宫算术)A=magic(3)求矩阵的行列式和特征值求矩阵的行列式和特征值det(A)eig(A)思考:?求解数独的简单求解数独的简单C语言程序(适合仅有唯一解的数独)语

18、言程序(适合仅有唯一解的数独)#include void print(int a99)/*格式化输出数独格式化输出数独*/int i,j;for(i=0;i9;i+)for(j=0;j9;j+)printf(%d,aij);printf(n);28void ini_logo(int logo1099,int arr99)/*初始化标志数组*/int i,j,k,p,r,s,t;for(i=0;i9;+i)for(j=0;j9;+j)if(arrij!=0)for(k=1;k=9;+k)logokij=1;for(i=0;i9;+i)for(j=0;j9;+j)if(arrij!=0)p=arr

19、ij;for(r=0;r9;+r)logopir=1;logoprj=1;for(s=(i/3)*3;s(i/3)*3+3;+s)for(t=(j/3)*3;t(j/3)*3+3;+t)logopst=1;29int add(int arr99,int logo1099,int m,int n,int k)/*arrmn插入数字,修改arr,logo数组*/int i,s,p,t;arrmn=k;for(p=1;p=9;+p)logopmn=1;for(i=0;i9;+i)logokmi=1;logokin=1;for(s=(m/3)*3;s(m/3)*3+3;+s)for(t=(n/3)*3

20、;t(n/3)*3+3;+t)logokst=1;int check(int logo1099,int arr99)/*检测行列和小九宫格*/int i,j,k,p,q,r,s,t,m,n,tag=0;/*tag标志本轮是否修改*/for(k=1;k=9;+k)for(i=0;i9;+i)p=0;q=0;for(j=0;j9;+j)if(logokij=0)r=j;p+;/*检测行*/if(logokji=0)s=j;q+;/*检测列*/if(p=1)tag=1;add(arr,logo,i,r,k);if(q=1)tag=1;add(arr,logo,s,i,k);/*满足一个添加的条件,修

21、改arr,logo数组和标志tag*/for(i=0;i9;i=i+3)/*检测小九宫格*/for(j=0;j9;j=j+3)t=0;for(m=i;mi+3;+m)for(n=j;nx,y=meshgrid(-3:1/8:3);z=3*(1-x).2.*exp(-(x.2)-(y+1).2)-10*(x/5-x.3-y.5).*exp(-x.2-y.2)-1/3*exp(-(x+1).2-y.2);surf(x,y,z),shadinginterp;colorbar例例2 考虑一个二元函数,如何用三维图形的方式表考虑一个二元函数,如何用三维图形的方式表现出这个曲面?现出这个曲面?32MATL

22、AB特色举例例例3 微分方程的数值解法。微分方程的数值解法。著名的著名的 Lorenz 模型(蝴蝶效应)模型(蝴蝶效应)33求解该微分方程,绘制出时间曲线与相空间曲线,如下所示。t_final=100;x0=0;0;1e-10;t,x=ode45(lorenzeq,0,t_final,x0);plot(t,x),figure;plot3(x(:,1),x(:,2),x(:,3);axis(10 40-20 20-20 20);描述微分方程:function xdot=lorenzeq(t,x)xdot=-8/3*x(1)+x(2)*x(3);-10*x(2)+10*x(3);-x(1)*x(2

23、)+28*x(2)-x(3);endMATLAB特色举例由下面的语句生成一组数据由下面的语句生成一组数据 x x 和和 y y,用神经网络进,用神经网络进行数据拟合行数据拟合 x=0:.1:10;y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);可知可知(x,x,y y)是曲线上的点。是曲线上的点。MATLAB特色举例35第一种解法:程序第一种解法:程序x=0:.1:10;x=0:.1:10;y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);y=0.12*exp(-0.213*x)+0.

24、54*exp(-0.17*x).*sin(1.23*x);net=newff(0,10,5,1,tansig,tansig);net=newff(0,10,5,1,tansig,tansig);net.trainParam.epochs=1000;net.trainParam.epochs=1000;net=train(net,x,y);net=train(net,x,y);x0=0:.1:10;x0=0:.1:10;figure(1)figure(1)y1=sim(net,x0);y1=sim(net,x0);plot(x,y,o,x0,y1,r)plot(x,y,o,x0,y1,r)MAT

25、LAB特色举例 第二种解法:交互式界面第二种解法:交互式界面nntoolnntool命令产生神经网络图形交互界面如下命令产生神经网络图形交互界面如下MATLAB特色举例38MATLAB知识点定位MAMATLTLABAB基基础础基本运算数组和矩阵数值运算符号运算图形绘制程序设计GUI设计建模应用M文件为基础注意区分图形和图像从数值到符号的引申工具箱391.2 基本运算功能lMATLAB的基本运算可分为三类:的基本运算可分为三类:l算术运算l关系运算l逻辑运算401.2.1 算术运算41使用变量来进行更复杂的问题求解 a=15+20-50+3*9a=12b=30 b=30 c=a*bc=360 d

26、=a3-b*cd=-907242逗号或分号的区别 x=2,y=3%逗号隔开,屏幕有回显逗号隔开,屏幕有回显x=2y=3m=2;n=3;%分号隔开,无回显分号隔开,无回显m%在提示符后直接输入变量名可查看变量的值在提示符后直接输入变量名可查看变量的值m=243基本算术运算符 运运 算算符符 号号运运 算算符符 号号加+减-乘*数组相乘.*左除数组左除.右除/数组右除./幂次方数组幂次方.44例1 求解算术表达式的值(12+2*(7-4)/33 ans=0.666745format命令 MATLABMATLAB命令命令含含 义义范范 例例formatshort短格式3.1416formatshor

27、te短格式科学格式3.1416e+000formatlong长格式3.14159265358979formatlonge长格式科学格式3.141592653589793e+000formatrat有理格式355/113formathex十六进制格式400921fb54442d18formatbank银行格式3.14461.2.2 关系运算运运 算算符符 号号运运 算算符符 号号大于小于=小于等于 x=2;x3ans=0 xz1=1+2iz1=1.0000+2.0000iz2=3+4jz2=3.0000+4.0000i511.3.2 字符串类型l字符串:包含在一对单引号中的字符集合字符串:包含在

28、一对单引号中的字符集合 s=hello,MATLAB%定义字符串变量定义字符串变量ss=hello,MATLAB52MATLAB中的字符串运算功能非常丰富,特别是中的字符串运算功能非常丰富,特别是符号运算功能的加入,使得字符串函数功能得符号运算功能的加入,使得字符串函数功能得到了极大增强。到了极大增强。在在MATLAB中,所有字符串都用英文单引号标识,中,所有字符串都用英文单引号标识,字符串和字符数组是等价的字符串和字符数组是等价的,字符串中的每个,字符串中的每个字符字符(包括空格包括空格)都是字符数组的一个元素。都是字符数组的一个元素。53字符串与数值数组的相互转换详情请参阅帮助(help)

29、函数名函数名可实现的功能可实现的功能函数名函数名可实现的功能可实现的功能num2str数字转换为字符数字转换为字符串串str2num字符串转换为数字字符串转换为数字int2str整数转换为字符整数转换为字符串串sprintf将格式数据写为字将格式数据写为字符串符串mat2str矩阵转换为字符矩阵转换为字符串串sscanf在格式控制下读字在格式控制下读字符串符串54字符串的操作与执行详情请参阅帮助(help)函数名函数名可实现的功能可实现的功能函数名函数名可实现的功能可实现的功能strcat串连接串连接strrep串替换串替换strvcat串垂直连接串垂直连接strtok找串记号找串记号strc

30、mp串比较串比较upper转换串为大写转换串为大写strncmp串比较串比较(前前n个字符个字符)lower转换串为小写转换串为小写findstr串中查找字串串中查找字串blanks生成空串生成空串strjust微调字符串微调字符串deblank去除串空格去除串空格strmatch查找匹配的串查找匹配的串eval执行字符串执行字符串55串检验与进制转换函数详情请参阅帮助(help)函数名函数名可实现的功能可实现的功能函数名函数名可实现的功能可实现的功能ischar字符串检验字符串检验isletter字母检验字母检验iscellstr串单元阵检验串单元阵检验isspace空格检验空格检验hex2

31、dec1610转换转换dec2bin102转换转换hex2num16双精转换双精转换base2decn10转换转换dec2hex1016转换转换dec2base10n转换转换bin2dec210转换转换strings字串帮助字串帮助563.单元型变量 单元型变量是单元型变量是MATLAB中较为特殊的一种数据中较为特殊的一种数据类型,本质上也是一种数组,但这种数组和传类型,本质上也是一种数组,但这种数组和传统数组的区别是:传统数组中所有元素只能是统数组的区别是:传统数组中所有元素只能是同一种数据类型,而单元型数组可以同一种数据类型,而单元型数组可以把不同的把不同的数据类型组合在一起数据类型组合在

32、一起,从而形成一种比较复杂,从而形成一种比较复杂的数组。的数组。57(1)单元型变量的定义单元型变量的定义(a)直接赋值法:单元型变量使用直接赋值法:单元型变量使用大括号大括号标识,元素之间标识,元素之间用逗号分隔。也可以直接对单元型变量的元素直接赋用逗号分隔。也可以直接对单元型变量的元素直接赋值单元型变量的下标用值单元型变量的下标用大括号索引大括号索引。如如A(1,1)=matlab,A1,1=matlab。(a)由由cell函数预先分配存储空间,然后逐个元素进行赋函数预先分配存储空间,然后逐个元素进行赋值。例如:值。例如:Bcell(2,3),可在内存空间中建立一个单,可在内存空间中建立一

33、个单元型空变量元型空变量B,然后可逐个对其每个元素赋值。,然后可逐个对其每个元素赋值。58值得注意的是:单元型变量的存储并不是以指针的方式来存储的,因此改变元素的值是不会影响到原来所引用的变量值的。单元型变量还可以嵌套,即单元型变量的元素也可以是单元型变量。(2)单元型变量的相关函数单元型变量的相关函数函数名函数名说明说明函数名函数名说明说明cell生成单元型变量生成单元型变量deal输入输出处理输入输出处理cellfun单元型变量元素的作用单元型变量元素的作用cell2struct单元型量单元型量结构型量结构型量celldisp显示单元型变量内容显示单元型变量内容struct2cell结构型

34、量结构型量单元型量单元型量cellplot图形显示单元型变量图形显示单元型变量iscell判断是否为单元型变量判断是否为单元型变量num2cell数值数值单元型变量单元型变量reshape改变数组结构改变数组结构594.结构型变量 结构型变量是另外一种可以将不同的数据类结构型变量是另外一种可以将不同的数据类型组合在一起的特殊数据类型。与单元型数据型组合在一起的特殊数据类型。与单元型数据类型相同它也不是以指针方式传递数据的。不类型相同它也不是以指针方式传递数据的。不同的是其作用相当于数据库中的记录,可存储同的是其作用相当于数据库中的记录,可存储一系列相关数据。同一个数据字段(一系列相关数据。同一

35、个数据字段(Field)必须)必须具有相同的数据类型,而单元型数据每个元素具有相同的数据类型,而单元型数据每个元素彼此可以不同。彼此可以不同。60(1)结构型变量的定义结构型变量的定义(a)直接赋值法:结构型变量的使用必须指出结构的属直接赋值法:结构型变量的使用必须指出结构的属性名,并以操作符性名,并以操作符“.”来连接结构变量名与属性名。来连接结构变量名与属性名。对该属性直接赋值,对该属性直接赋值,MATLAB 会自动生成该结构变会自动生成该结构变量。如量。如A.b1,B(2,3).a3等。结构型数组的不同元素类等。结构型数组的不同元素类型可不同。型可不同。(b)由由struct函数预先分配

36、存储空间方法是:函数预先分配存储空间方法是:结构型变量结构型变量struct(元素名元素名1,元素值,元素值1,元素名,元素名2,元素值,元素值2,)例如:例如:c=struct(c1,1,c2,b,c3,abcd)61值得注意的是:结构型变量的存储也不是以指针方式存储的。因此改变元素的值就不会影响到所引用变量的值。结构型变量也可以嵌套使用,即结构型变量的元素也可以是结构型变量。(2)结构型变量的相关函数结构型变量的相关函数函数名函数名说明说明函数名函数名说明说明struct创建或改变结构型变量创建或改变结构型变量rmfield删除结构型变量属性删除结构型变量属性fieldnames取得结构型

37、变量属性名取得结构型变量属性名isfield判断结构型变量属性判断结构型变量属性getfield取得结构型变量属性值取得结构型变量属性值isstruct判断结构型变量判断结构型变量setfield设置结构型变量属性值设置结构型变量属性值621.3.3 变量和表达式l变量的命名方式:变量的命名方式:l变量名由字母、数字和下划线组成;l变量名中的英文字母大小写是有区别的;l变量名的最大长度是有规定的l不同版本的系统规定不同:19个字符、31或63个字符等l可调用namelengthmax函数得到系统规定长度63MATLAB系统的特殊变量和常数特殊变量特殊变量意意 义义ans如果用户未定义变量名,系

38、统用于计算结果存储的默认变量名pi圆周率(=3.1415926.)inf或Inf无穷大值,如1/0eps浮点运算的相对精度2(-52)realmax最大的正浮点数,2(1024)-1realmin最小的正浮点数,2(-1022)NaN或nan不定量,如0/0或inf/infi或j虚数单位nargin函数输入参数个数nargout函数输出参数个数lasterr存放最新的错误信息lastwarn存放最新的警告信息64变量的使用clear%删除工作区中所有定义过的变量whos%查看当前工作区内变量信息,无显示表示没有定义的变量xy=1;yx=2;%对变量赋值xy%查看变量xy的当前数值xy=1who

39、sNameSizeBytesClassxy1x18doublearrayyx1x18doublearrayGrandtotalis2elementsusing16bytesclearxyyx%删除变量xy及yxwhosxy%这时变量xy已经不存在了?Undefinedfunctionorvariablexy.651.4 数学函数类型类型函函 数数含含 义义三角函数sin(x)正弦值asin(x)反正弦值cos(x)余弦值acos(x)反余弦值tan(x)正切指数函数exp(x)指数运算log(x)自然对数sqrt(x)求平方根复数函数abs(x)求绝对值imag(x)取出复数的虚部real(x

40、)取出复数的实部conj(x)复数共轭数论函数round(x)四舍五入mod(x,y)求余数lcm(x,y)整数x和y的最小公倍数gcd(x,y)整数x和y的最大公约数66使用函数须注意以下几点l函数一定要出现在等式的右边函数一定要出现在等式的右边l函数对其自变量的个数和格式都有一定的要求函数对其自变量的个数和格式都有一定的要求l函数允许嵌套函数允许嵌套 67例 计算下式的结果,其中a=5.67,b=7.811a=5.67;b=7.811;exp(a+b)/log10(a+b)ans=6.3351e+00568扩展阅读lMATLAB背景背景lMATLAB历史lMATLAB组成lMATLAB特点

41、lMATLAB应用开发环境应用开发环境上机指导lMATLAB的安装和使用的安装和使用 l安装MATLAB系统l使用MATLAB系统lMATLAB帮助功能帮助功能一一“纯文本纯文本”帮助帮助在指令窗中运行在指令窗中运行help 的示例。的示例。二二“导航导航/浏览器交互界面浏览器交互界面”帮帮助助三三 PDF帮助帮助四四 其他帮助其他帮助70Task(1)l执行执行MATLAB的启动和退出。观看的启动和退出。观看DEMO程程序序,INTRO程序程序,HELP文件,练习文件,练习MATLAB常常用命令在命令窗口中计算数学表达式,输入简用命令在命令窗口中计算数学表达式,输入简单矩阵,查看工作空间中的

42、变量,命令窗口显单矩阵,查看工作空间中的变量,命令窗口显示清除,语句、变量及数据的表示,搜索路径示清除,语句、变量及数据的表示,搜索路径设置。设置。71Task(2)l计算星球之间的万有引力。计算星球之间的万有引力。G=6.67E-11;%引力恒量sun=1.987E30;%太阳质量1.9871030千克earth=5.975E24;%地球质量5.9751024千克d1=1.495E11;%太阳和地球的距离1.4951011米g1=G*sun*earth/d12%太阳和地球的引力g1=3.5431e+022moon=7.348E22;%月亮质量7.3481022千克d2=3.844E5;%月亮

43、和地球两者间距3.844105米g2=G*moon*earth/d22%月亮和地球的引力g2=1.9818e+02672Task(3)l设三个复数a34i,b12i,,计算x=ab/ca=3+4i;b=1+2i;c=2*exp(i*pi/6);x=a*b/cx=0.3349+5.5801i73Task(4)l已知三角形的三边长分别为已知三角形的三边长分别为3、4、5,求其面积。,求其面积。a=3;b=4;c=5;%三角形的三个边长s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c)area=674Task(5)l用两种方法创建一个二维数组,掌握二维数组用两种方法创

44、建一个二维数组,掌握二维数组的创建方法,以及数据的修改方法,尽量考虑的创建方法,以及数据的修改方法,尽量考虑计算效率。计算效率。75Task(6)l计算下式的结果,其中计算下式的结果,其中x=45 x=pi/180*(45);%将角度单位由度转换为函数要求的弧度值z=(sin(x)+sqrt(35)/72(1/5)z=2.815876Task(7)l使用函数创建字符串数组,掌握使用函数创建字符串数组,掌握char、str2mat、strvcat、strcat之间的区别。之间的区别。77思考问题l仿真是否仿真是否”真真”?l如何生成任意参数的魔方矩阵如何生成任意参数的魔方矩阵?78上机操作上机指导时间:上机指导时间:13-1613-16日上午日上午34 34 节节上机地点:实验楼机房上机地点:实验楼机房按着学号每按着学号每5 5人一组,第人一组,第3 3节上机,第节上机,第4 4节检查。节检查。每次上机实验内容结束后每次上机实验内容结束后,完成实验报告完成实验报告,周五统一将周五统一将4 4份份报告电子版统一提交到教辅,由老师批阅登记,记作实验报告电子版统一提交到教辅,由老师批阅登记,记作实验成绩。成绩。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com