(完整版)Matlab第十讲教案
- 格式:doc
- 大小:251.51 KB
- 文档页数:12
《计算机应用数学》教案教学过程:一、知识回顾复习回顾矩阵的输入二、新课导入用matlab可以画出我们想要的各种图形,无论是立体的还是平面的或者是我们条形的还是饼图。
三、新课内容1)曲线图二维图形的绘制是MATLAB语言图形处理的基础,MATLAB最常用的画二维图形的命令是plot(x,y,s),其中s代表对曲线的线型或者颜色.标注的方法是在每一对数组后加一个字符串参数,说明如下:线型线方式:- 实线:点线-.虚点线- - 波折线.线型点方式:.圆点+ 加号* 星号x x形o 小圆颜色y黄r红g绿b蓝w白k黑m紫c青请看下面两个简单的例子:>> y=[0 0.58 0.70 0.95 0.83 0.25];>> plot(y)生成的图形如图10.2所示,是以序号6,,2,1 为横坐标、数组y的数值为纵坐标画出的折线.>> x=linspace(0,2*pi,30);% 生成一组线性等距的数值>> y=sin(x);>> plot(x,y)生成的图形如图10.3所示,是]2,0[ 上30个点连成的光滑的正弦曲线.图10.2 图10.32)多重线在同一个画面上可以画许多条曲线,只需多给出几个数组,例如:>> x=0:pi/15:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2)则可以画出图10.4.多重线的另一种画法是利用hold命令.在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上.而命令hold off 将结束这个过程.例如:>> x=linspace(0,2*pi,30);y=sin(x);plot(x,y)先画好图10.3,然后用下述命令增加cos(x)的图形,也可得到图10.4.>> hold on>> z=cos(x);plot(x,z)>> hold off图10.4 图10.5下面的例子:>> x=0:pi/15:2*pi;>> y1=sin(x);y2=cos(x);>> plot(x,y1,’b:+’,x,y2,’g-.*’)可得图形10.5.3)三维图形作曲面z=f(x,y)的图形z=(7.57.5,7.57.5-≤≤-≤≤).x y用以下程序实现:>> x=-7.5:0.5;7.5;>> y=x;>> [X,Y]=meshgrid(x,y);(3维图形的X,Y数组)>> R=sqrt(X.^2+Y.^2)+eps;(加eps是防止出现0/0)>> Z=sin(R)./R;>> mesh(X,Y,Z) (3维网格表面)画出的图形如图10.6所示. mesh命令也可以改为surf, 只是图形效果有所不同,读者可以上机查看结果.图10.6 图10.7 作螺旋线x=sint, y=cost, z=t用以下程序实现:>> t=0:pi/50:10*pi;>> plot3(sin(t),cos(t),t) (空间曲线作图函数, 用法类似于plot)画出的图形如图10.7所示.4)图形注释标题title(‘text’)坐标轴的标注xlabel(‘text’)、ylabel、zlabel文本标注text(x,y,‘string’)gtext图例标注legend(‘string1’,’string2’,…)设定轴axis([xmin xmax ymin ymax])【课堂练习】将图形分为2*2块,第一区域y = sinx,第二区域z = cosx,第三四区域放w = sin(2*x) + cos(2*x程序如下:>> x = -2*pi:0.1:2*pi;>> y = sin(x);>> z = cos(x);>> w = sin(2*x) + cos(2*x);>> subplot(2,2,1);>> plot(x,y);>> subplot(2,2,2);>> plot(x,z);>> subplot(2,2,[3,4])>> plot(x,w)【问题思考】【知识小结】1、特殊矩阵的输入;2、求矩阵的逆矩阵.【课后作业】用黄色星形画出cos(2)∈的图像.xπ=,[0,2]y x四、板书设计。
MATLAB语言及其应用教案第一章:MATLAB简介1.1 课程目标让学生了解MATLAB的发展历程及其在工程领域的应用让学生熟悉MATLAB的工作环境让学生掌握MATLAB的基本命令和操作1.2 教学内容MATLAB的发展历程MATLAB的工作环境MATLAB的基本命令和操作1.3 教学方法讲授结合实例演示学生上机操作练习1.4 课后作业熟悉MATLAB的工作环境掌握MATLAB的基本命令和操作第二章:MATLAB基本语法2.1 课程目标让学生了解MATLAB的基本语法规则让学生掌握MATLAB的数据类型和变量让学生熟悉MATLAB的数学运算2.2 教学内容MATLAB的基本语法规则MATLAB的数据类型和变量MATLAB的数学运算2.3 教学方法讲授结合实例演示学生上机操作练习2.4 课后作业熟悉MATLAB的基本语法规则掌握MATLAB的数据类型和变量熟练运用MATLAB的数学运算第三章:MATLAB编程技巧3.1 课程目标让学生了解MATLAB的编程技巧让学生掌握MATLAB的循环和条件语句让学生熟悉MATLAB的函数编程3.2 教学内容MATLAB的编程技巧MATLAB的循环和条件语句MATLAB的函数编程3.3 教学方法讲授结合实例演示学生上机操作练习3.4 课后作业熟悉MATLAB的编程技巧掌握MATLAB的循环和条件语句熟练运用MATLAB的函数编程第四章:MATLAB绘图功能4.1 课程目标让学生了解MATLAB的绘图功能让学生掌握MATLAB的基本绘图命令让学生熟悉MATLAB的绘图技巧4.2 教学内容MATLAB的绘图功能MATLAB的基本绘图命令MATLAB的绘图技巧4.3 教学方法讲授结合实例演示学生上机操作练习4.4 课后作业熟悉MATLAB的绘图功能掌握MATLAB的基本绘图命令熟练运用MATLAB的绘图技巧第五章:MATLAB在信号处理中的应用5.1 课程目标让学生了解MATLAB在信号处理领域的应用让学生掌握MATLAB信号处理的基本方法让学生熟悉MATLAB信号处理的实例5.2 教学内容MATLAB在信号处理领域的应用MATLAB信号处理的基本方法MATLAB信号处理的实例5.3 教学方法讲授结合实例演示学生上机操作练习5.4 课后作业熟悉MATLAB在信号处理领域的应用掌握MATLAB信号处理的基本方法熟练运用MATLAB信号处理的实例第六章:MATLAB在控制系统设计中的应用6.1 课程目标让学生了解MATLAB在控制系统设计领域的应用让学生掌握MATLAB控制系统设计的基本方法让学生熟悉MATLAB控制系统设计的实例6.2 教学内容MATLAB在控制系统设计领域的应用MATLAB控制系统设计的基本方法MATLAB控制系统设计的实例6.3 教学方法讲授结合实例演示学生上机操作练习6.4 课后作业熟悉MATLAB在控制系统设计领域的应用掌握MATLAB控制系统设计的基本方法熟练运用MATLAB控制系统设计的实例第七章:MATLAB在图像处理中的应用7.1 课程目标让学生了解MATLAB在图像处理领域的应用让学生掌握MATLAB图像处理的基本方法让学生熟悉MATLAB图像处理的实例7.2 教学内容MATLAB在图像处理领域的应用MATLAB图像处理的基本方法MATLAB图像处理的实例7.3 教学方法讲授结合实例演示学生上机操作练习7.4 课后作业熟悉MATLAB在图像处理领域的应用掌握MATLAB图像处理的基本方法熟练运用MATLAB图像处理的实例第八章:MATLAB在仿真建模中的应用8.1 课程目标让学生了解MATLAB在仿真建模领域的应用让学生掌握MATLAB仿真建模的基本方法让学生熟悉MATLAB仿真建模的实例8.2 教学内容MATLAB在仿真建模领域的应用MATLAB仿真建模的基本方法MATLAB仿真建模的实例8.3 教学方法讲授结合实例演示学生上机操作练习8.4 课后作业熟悉MATLAB在仿真建模领域的应用掌握MATLAB仿真建模的基本方法熟练运用MATLAB仿真建模的实例第九章:MATLAB在优化计算中的应用9.1 课程目标让学生了解MATLAB在优化计算领域的应用让学生掌握MATLAB优化计算的基本方法让学生熟悉MATLAB优化计算的实例9.2 教学内容MATLAB在优化计算领域的应用MATLAB优化计算的基本方法MATLAB优化计算的实例9.3 教学方法讲授结合实例演示学生上机操作练习9.4 课后作业熟悉MATLAB在优化计算领域的应用掌握MATLAB优化计算的基本方法熟练运用MATLAB优化计算的实例第十章:MATLAB在工程实践中的应用10.1 课程目标让学生了解MATLAB在工程实践领域的应用让学生掌握MATLAB工程实践的基本方法让学生熟悉MATLAB工程实践的实例10.2 教学内容MATLAB在工程实践领域的应用MATLAB工程实践的基本方法MATLAB工程实践的实例10.3 教学方法讲授结合实例演示学生上机操作练习10.4 课后作业熟悉MATLAB在工程实践领域的应用掌握MATLAB工程实践的基本方法熟练运用MATLAB工程实践的实例重点解析本文教案主要介绍了MATLAB语言及其在各个领域的应用。
《MATLAB教案》PPT课件第一章:MATLAB概述1.1 MATLAB简介介绍MATLAB的历史和发展解释MATLAB的含义(Matrix Laboratory)强调MATLAB在工程和科学计算中的应用1.2 MATLAB界面介绍MATLAB的工作空间解释MATLAB的菜单栏和工具栏演示如何创建、打开和关闭MATLAB文件1.3 MATLAB的基本操作介绍MATLAB的数据类型演示如何进行矩阵运算解释MATLAB中的向量和矩阵运算规则第二章:MATLAB编程基础2.1 MATLAB脚本编程解释MATLAB脚本文件的结构演示如何编写和运行MATLAB脚本强调注释和代码的可读性2.2 MATLAB函数编程介绍MATLAB函数的定义和结构演示如何创建和使用MATLAB函数强调函数的重用性和模块化编程2.3 MATLAB编程技巧介绍变量和函数的命名规则演示如何进行错误处理和调试强调代码的优化和性能提升第三章:MATLAB数值计算3.1 MATLAB数值解算介绍MATLAB中的数值解算工具演示如何解线性方程组和不等式解释MATLAB中的符号解算和数值解算的区别3.2 MATLAB数值分析介绍MATLAB中的数值分析工具演示如何进行插值、拟合和数值积分解释MATLAB中的误差估计和数值稳定性3.3 MATLAB优化工具箱介绍MATLAB优化工具箱的功能演示如何使用优化工具箱进行无约束和约束优化问题解释MATLAB中的优化算法和参数设置第四章:MATLAB绘图和可视化4.1 MATLAB绘图基础介绍MATLAB中的绘图命令和函数演示如何绘制二维和三维图形解释MATLAB中的图形属性设置和自定义4.2 MATLAB数据可视化介绍MATLAB中的数据可视化工具演示如何绘制统计图表和散点图解释MATLAB中的数据过滤和转换4.3 MATLAB动画和交互式图形介绍MATLAB中的动画和交互式图形功能演示如何创建动画和交互式图形解释MATLAB中的图形交互和数据探索第五章:MATLAB应用案例5.1 MATLAB在信号处理中的应用介绍MATLAB在信号处理中的基本概念演示如何使用MATLAB进行信号处理操作解释MATLAB在信号处理中的优势和应用场景5.2 MATLAB在控制系统中的应用介绍MATLAB在控制系统中的基本概念演示如何使用MATLAB进行控制系统分析和设计解释MATLAB在控制系统中的优势和应用场景5.3 MATLAB在图像处理中的应用介绍MATLAB在图像处理中的基本概念演示如何使用MATLAB进行图像处理操作解释MATLAB在图像处理中的优势和应用场景《MATLAB教案》PPT课件第六章:MATLAB Simulink基础6.1 Simulink简介介绍Simulink作为MATLAB的一个集成组件解释Simulink的作用:模型化、仿真和分析动态系统强调Simulink在系统级设计和多领域仿真中的优势6.2 Simulink界面介绍Simulink库浏览器和模型窗口演示如何创建、编辑和运行Simulink模型解释Simulink中的块和连接的概念6.3 Simulink仿真介绍Simulink仿真的基本过程演示如何设置仿真参数和启动仿真解释Simulink仿真结果的查看和分析第七章:MATLAB Simulink高级应用7.1 Simulink设计模式介绍Simulink的设计模式,包括连续、离散、混合和事件驱动模式演示如何根据系统特性选择合适的设计模式解释不同设计模式对系统性能的影响7.2 Simulink子系统介绍Simulink子系统的概念和用途演示如何创建和管理Simulink子系统解释子系统在模块化和层次化设计中的作用7.3 Simulink Real-Time Workshop介绍Simulink Real-Time Workshop的功能演示如何使用Real-Time Workshop进行代码解释代码对于硬件在环仿真和嵌入式系统开发的重要性第八章:MATLAB Simulink库和工具箱8.1 Simulink库介绍Simulink库的结构和分类演示如何访问和使用Simulink库中的块解释Simulink库对于模型构建和功能复用的意义8.2 Simulink工具箱介绍Simulink工具箱的概念和功能演示如何安装和使用Simulink工具箱解释Simulink工具箱在特定领域仿真和分析中的作用8.3 自定义Simulink库介绍如何创建和维护自定义Simulink库演示如何将自定义块添加到库中解释自定义库对于个人和组织级模型共享的重要性第九章:MATLAB Simulink案例分析9.1 Simulink在控制系统中的应用介绍控制系统模型在Simulink中的构建演示如何使用Simulink进行控制系统设计和分析解释Simulink在控制系统教育和研究中的应用9.2 Simulink在信号处理中的应用介绍信号处理模型在Simulink中的构建演示如何使用Simulink进行信号处理仿真解释Simulink在信号处理领域中的优势和实际应用9.3 Simulink在图像处理中的应用介绍图像处理模型在Simulink中的构建演示如何使用Simulink进行图像处理仿真解释Simulink在图像处理领域中的优势和实际应用第十章:MATLAB Simulink项目实践10.1 Simulink项目实践流程介绍从需求分析到模型验证的Simulink项目实践流程演示如何使用Simulink进行项目规划和实施解释Simulink在项目管理和协作中的作用10.2 Simulink与MATLAB的交互介绍Simulink与MATLAB之间的数据交互方式演示如何在Simulink中使用MATLAB函数和脚本解释混合仿真模式对于复杂系统仿真的优势10.3 Simulink项目案例分析具体的Simulink项目案例演示如何解决实际工程问题解释Simulink在工程教育和项目开发中的应用价值《MATLAB教案》PPT课件第十一章:MATLAB App Designer入门11.1 App Designer简介介绍App Designer作为MATLAB中的应用程序开发环境解释App Designer的作用:快速创建跨平台的MATLAB应用程序强调App Designer在简化MATLAB代码部署和用户交互中的优势11.2 App Designer界面介绍App Designer的用户界面和工作流程演示如何创建新应用和编辑应用界面解释App Designer中的组件和布局的概念11.3 App Designer编程介绍App Designer中的MATLAB编程模式演示如何使用App Designer中的MATLAB代码块解释App Designer中事件处理和应用程序生命周期管理的重要性第十二章:MATLAB App Designer高级功能12.1 App Designer用户界面设计介绍App Designer中用户界面的定制方法演示如何使用样式、颜色和主题来美化应用界面解释用户界面设计对于提升用户体验的重要性12.2 App Designer数据模型介绍App Designer中的数据模型和模型视图概念演示如何创建、使用和绑定数据模型和视图解释数据模型在应用程序中的作用和重要性12.3 App Designer部署和分发介绍App Designer应用程序的部署和分发流程演示如何打包和发布应用程序解释如何为不同平台安装和运行App Designer应用程序第十三章:MATLAB App Designer案例研究13.1 图形用户界面(GUI)应用程序设计介绍使用App Designer设计的GUI应用程序案例演示如何创建交互式GUI应用程序来简化MATLAB脚本解释GUI应用程序在数据输入和结果显示中的作用13.2 数据分析和可视化应用程序设计介绍使用App Designer进行数据分析和可视化的案例演示如何创建应用程序来处理和显示大型数据集解释App Designer在数据分析和决策支持中的优势13.3 机器学习和深度学习应用程序设计介绍使用App Designer实现机器学习和深度学习模型的案例演示如何将MATLAB中的机器学习和深度学习算法集成到应用程序中解释App Designer在机器学习和深度学习应用部署中的作用第十四章:MATLAB App Designer实战项目14.1 App Designer项目规划和管理介绍App Designer项目的规划和管理方法演示如何组织和维护大型应用程序项目解释项目管理和版本控制对于团队协作的重要性14.2 App Designer与MATLAB的集成介绍App Designer与MATLAB之间的数据和功能集成演示如何在App Designer中调用MATLAB函数和脚本解释集成MATLAB强大计算和分析能力的重要性14.3 App Designer项目案例实现分析具体的App Designer项目案例实现过程演示如何解决实际工程项目中的问题解释App Designer在工程项目实践中的应用价值第十五章:MATLAB App Designer的未来趋势15.1 App Designer的新功能和技术介绍App Designer的最新功能和技术发展演示如何利用新功能和技术提升应用程序的性能和用户体验强调持续学习和适应新技术的重要性15.2 App Designer在跨平台开发中的应用介绍App Designer在跨平台应用程序开发中的优势演示如何创建适用于不同操作系统的应用程序解释跨平台开发对于扩大应用程序市场的重要性15.3 App Designer的未来趋势和展望讨论App Designer在未来的发展趋势和潜在应用领域激发学生对于应用程序开发和创新的兴趣强调持续探索和创造新应用的重要性重点和难点解析本文档为您提供了一份详尽的《MATLAB教案》PPT课件,内容涵盖了MATLAB 的基本概念、编程基础、数值计算、绘图和可视化、应用案例、Simulink的基础知识、高级应用、库和工具箱的使用、案例分析以及项目实践、App Designer 的基础知识、高级功能、案例研究、实战项目和未来趋势等方面的内容。
4.2 用户界面菜单对象和上下文菜单菜单对象(Uimenu)(也称下拉式菜单对象)能够使用户在运行应用程序时,从一批功能选项中浏览和选择某项功能。
在MATLAB每一个窗口系统中都有一个主菜单栏,所有的主菜单都列在菜单栏上。
菜单的标题或名字简单地描述了该菜单的功能。
一个菜单项还可用自己的菜单项列表而作为子菜单。
子菜单项在子菜单的标志右边显示小三角或箭头以表示菜单还有更多子菜单项可供选择。
如果子菜单的菜单项被选择,另一个具有更多菜单项的菜单显示在此菜单的右边的下拉菜单中。
有时这种菜单称之行走菜单。
选中其中一个菜单项也引起某些动作的产生。
子菜单可以嵌套,但层次的数目受到窗口系统及有用资源的限制。
4.2.1 菜单对象的创建创建菜单对象有两种方式:一是基于函数命令的编程方式,二是基于GUI的方式。
(1)基于函数命令的编程方式自制用户菜单对象,通过函数uimenu创建,可用于创建菜单对象(或称子菜单对象)和命令对象(或称菜单项)。
菜单对象是指自身包含有下一级命令,功能是打开它的子项;而命令对象是指本身不再具有子菜单的功能选项,只对应于某种功能操作。
二者区别在于:命令对象的Children属性值为空矩阵,而菜单对象的Children属性值为图形窗口句柄值或另一个菜单对象的句柄值。
uimenu函数的调用格式为:●uimenu('PropertyName1',value1,'PropertyName2',value2,…) 在当前图形窗口上部的菜单栏创建一个菜单对象,并返回一个句柄值;●Hm=uimenu(h,…) 以句柄h为父对象的句柄创建一个新菜单,并返回该菜单的句柄值;该父对象必须是图形对象、菜单对象或上下文菜单对象。
通过设定uimenu对象的属性值‘PropertyName ' ,Value 这对命令定义了菜单特性。
uimenu对象中最重要的属性是' Label '和' Callback '。
西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第十章 MATLAB自定义函数课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求✧通过解说与实例练习,掌握matlab创建函数M文件的方法✧掌握matlab中全局变量与局部变量的定义与用法✧通过解说与实例练习,掌握在matlab主函数M文件中创建子函数✧在实例练习过程中,回顾利用伪码编写简单程序的方法✧掌握通过创建matlab函数M文件解决生活中的计算问题二、教学重点与难点本堂课教学的重点在于引导学生掌握matlab中函数M文件的创建及应用。
本堂课的难点在于理解matlab中函数M文件主函数与子函数的区别及调用,局部变量与全局变量的定义与应用范围的区别。
三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。
1)通过讲授法向学生讲述创建matlab函数M文件的基本方法、全局变量与局部变量的定义及用法等。
2)通过运用多媒体设备现场演示matlab创建函数M文件的应用实例。
3)在掌握创建matlab函数M文件基本方法的基础上,采用练习法引导学生创建函数M文件解决实际问题。
四、教学内容课后习题五(1)拉力测试装置在测试过程中,被测样本受均匀外力的作用产生形变。
下图中显示的是一组拉力测试数据。
根据以下公式计算应力与形变:00l l F A l σε-=和= 其中,σ是产生的应力,单位为lbf/in 2(psi);F 为施加的外力,单位为lbf;A 为样本的截面积,单位为in 2;ε为产生的形变,单位为in/in ;l 为样本的长度;0l 为样本的原始长度。
(a )测试样本是直径为0.505in 的金属杆,根据直径可以计算出金属杆的截面积,进一步利用所提供的数据计算金属杆的应力和形变。
(b )以形变为x 轴,应力为y 轴,作x-y 线图。
用黑色实线连接各数据点,并用圆圈标出各实测数据点。
(c )添加标题和坐标轴的标注。
(d )屈服应力或屈服点是指图形从陡峭的直线变成平滑曲线所对应的点,在屈服点附近测试样本的特性会发生显著变化。
在屈服点之前,测试样本发生弹性形变,即当外力消失时,形变也消失,与橡皮筋类似。
若继续增大外力作用,则测试样本会发生永久变形,也称塑性变形。
在图中对屈服点做出标注。
拉力测试数据负 载 长 度 负 载 长 度0 2 7750 2.0101650 2.002 8650 2.0203400 2.004 9300 2.0405200 2.006 10100 2.0806850 2.008 10400 2.120程序代码:%% 定义已知变量F=[1650 3400 5200 6850 7750 8650 930010100 10400];L=[2.002 2.004 2.006 2.008 2.010 2.0202.040 2.080 2.120];L0=2;A=0.505^2*pi/4;%% oneyinli=F./Axinbian=(L-L0)./L0%% twoplot(yinli,xinbian,'-ok')%% threetitle('应力应变变化图'),xlabel('yinli'),ylabel('xinbian')%% fourgtext('屈服点')(2)创建矢量x ,范围在0~20 π之间,步长为π/100。
矢量y 和z 分别等于 sin()cos()y x x z x x ==①在x-y坐标系中画出x和y的关系曲线。
②在极坐标系中画出x和y的关系曲线。
③画出x、y和z的三维曲线,并在图中添加标题和坐标轴标注。
④为了产生如下图所示的类似龙卷风的曲线应如何调整plot3中的输入参数,用comet3代替plot3绘制曲线。
%% onex=0:pi/100:20*pi;y=x.*sin(x);z=x.*cos(x);plot(x,y)%% twofigure(2)polar(x,y)%% threefigure(3)plot3(x,y,z)xlabel('x'),ylabel('y'),zlabel('z'),title('三维曲线')%% fourfigure(4)plot3(z,y,x)xlabel('z'),ylabel('y'),zlabel('x'),title('三维曲线')figure(5)comet3(z,y,x)(3)创建矢量x和y,数据变化范围从-5到+5,步长为0.5.用函数meshgrid将矢量x 和y映射为两上新的二维矩阵X和Y,根据下述公式计算矢量Z:22=+sin()Z X Y①用函数mesh创建Z的三维图。
②用函数surf创建Z的三维图。
比较单个输入变量和三个输入变量(X,Y,Z)时输入结果的区别。
③给输出的曲面图增加渲染阴影效果。
④绘制Z的等高线图。
⑤绘制Z的曲面图并加上等高线。
%% 变量定义x=-5:0.5:5;y=-5:0.5:5;[X,Y]=meshgrid(x,y);Z=sin(sqrt(X.^2+Y.^2));%% onemesh(Z)%% twofigure(2)subplot(2,2,1)surf(Z)subplot(2,2,2)surf(X,Y,Z)%% threeshading interp%% foursubplot(2,2,3)contour(X,Y,Z)%% fivesubplot(2,2,4)surfc(X,Y,Z)(1)导入课堂内容Matlab是一种基于函数的编程语言。
函数就是用户输入参数,返回输出结果的程序。
Matlab的有内置函数和自定义函数。
内置函数主要包括三角函数、对数函数、统计分析函数等。
Eg: 三角函数sin、cos、asin、acos等Eg: sin(pi/2) ans = 1sin(90) ans = 0.8940由以上两段小程序可以看出matlab内置的三角函数sin的输入参数形式只能是弧度,若输入角度则会显示错误的输出结果。
在matlab软件的低版本内里没有自带输入参数为角度形式的内置正弦函数。
我们可以通过编写matlab自定义函数即创建函数M文件来实现这一功能。
(2)函数M文件创建的语法自定义函数和matlab自定义函数的内置函数一样,具有相同的结构。
函数中必须包括函数名、输入参数和输出结果三项。
自定义函数在M文件中编写代码。
第一行是函数的定义行,它应包括:⏹引导词function⏹输出变量⏹函数名称⏹输入变量一个函数的定义如下:function output=my_function(input)Matlab中函数的命名应遵循如下规则:函数名必须以字母开头可以包括字母、数字和下划线不能使用预留的名称长度没有限制,但是最好不要太长由此我们可以创建函数M文件来解决前一部分的遗留问题:function output=sin_degree(x)output=sin(pi.*x./180);(3)多输入多输出函数自定义函数也可以有多个输入参数和输出结果。
一个函数的定义如下:function [a,b,c,……]=my_function(x,y,z,……)Eg: 余项函数rem(x,y)就是一个多输入函数。
余项函数就是求除法运算中余数的函数,需要输入除数和被除数两个选项。
(4)全局变量与局部变量全局变量是整个程序的变量。
在命令窗口或脚本M文件中定义的变量都是全局变量。
函数的M文件中所有变量都称为局部变量。
在命令窗口或脚本M文件中不能访问自定义函数定义的变量。
同理自定义函数中也不能访问工作区定义的变量。
也就是说函数必须是自包含的,即:程序中的信息仅能通过输入变量传递给函数,函数中的信息仅能通过输出变量传递给程序。
(5)查看M文件代码Matlab中提供了两种函数类型。
一种是内置函数,其程序代码是看不见的。
另一种是M文件函数,它存储在程序提供的工具箱中,使用type命令可以查看M文件代码。
函数sphere 是Matlab中的实体模型函数,可以产生一个三维球体,查看其程序代码,输入type sphere或type (‘sphere’)(6)应用实例①例题:个人住房公积金贷款买房,还款额及利息计算⏹个人买房申请住房公积金贷款,还款形式选择等额本金还款。
5年以上贷款年利率为4.5%,贷款本金为10万元,还款期限为10年。
编写函数M文件计算每月还款额、总还款额和总利息,并将每月还款额输出到一个txt文件中⏹等额本金还款计算公式:每月还款金额= (贷款本金/ 还款月数)+(本金—已归还本金累计额)×每月利率⏹输入:贷款本金,贷款利率,贷款期限⏹输出:每月还款额,总还款额,总利息②流程图和伪码通常在编写程序之前,要先画出程序的流程图或编写伪码,对程序进行设计。
流程图就是以图形化的方法表现编程思路,伪码是用文字的形式对程序算法进行描述。
在编写程序时,可以任意选择其中一种或两种方法对程序进行设计。
在编写简单程序中,最好使用伪码的方法:◆用句子描述程序实现的步骤◆将步骤转换成程序中的注释信息◆在注释行之间国入恰当的matlab程序代码③程序实现的步骤✧定义函数M文件✧计算每月应还本金额✧计算每月的剩余本金✧计算每月还款额✧计算总还款额✧计算总利息✧输出计算结果到已经定义的txt文件中④将程序步骤转换为伪码%define functional M-file%calculate monthly principal for payment% calculate monthly surplus principal% calculate monthly payment% calculate the total payment% calculate the total interest% output calculated results⑤matlab程序代码%define functional M-filefunction [ZHK,ZLX]=DEBJHK(BJ,DK_interestrate,DK_duration) %calculate monthly principal for paymentBJ_permonth=BJ./DK_duration;% calculate monthly surplus principalx=1:DK_duration;surplus_BJ=BJ-BJ_permonth.*x;% calculate monthly paymentMYHK=BJ_permonth+surplus_BJ.*DK_interestrate/12;% calculate the total paymentZHK=sum(MYHK);% calculate the total interestZLX=ZHK-BJ;% output calculated resultsy=fopen('result.txt','wt');fprintf(y,'Zong huan kuan er:%8.3f yuan\n ',ZHK);fprintf(y,'Zong li xi:%8.3f yuan\n ',ZLX);fprintf(y,'Di %2.0f ge yue huan kuan er wei: %8.3f yuan\n',[x;MYHK]);注:格式化输出函数fprintf的用法Eg : cows=2 :5 ;fprintf('There are %5.2f cows in the pasture \n',cows)There are 2.00 cows in the pastureThere are 3.00 cows in the pastureThere are 4.00 cows in the pastureThere are 5.00 cows in the pasture上述代码中,函数fprintf的第一个参数包含一个占位符(%)。