西南科技大学本科生课程备课教案
计算机技术在安全工程中的应用
——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)拉力测试装置在测试过程中,被测样本受均匀外力的作用产生形变。下图中显示的是一组拉力测试数据。根据以下公式计算应力与形变:
其中,是产生的应力,单位为lbf/in2(psi);F为施加的外力,单位为lbf;A为样本的截面积,单位为in2;为产生的形变,单位为in/in;为样本的长度;为样本的原始长度。
(a)测试样本是直径为0.505in的金属杆,根据直径可以计算出金属杆的截面积,进一步利用所提供的数据计算金属杆的应力和形变。
(b)以形变为x轴,应力为y轴,作x-y线图。用黑实线连接各数据点,并用圆圈标出各实测数据点。
(c)添加标题和坐标轴的标注。
(d)屈服应力或屈服点是指图形从陡峭的直线变成平滑曲线所对应的点,在屈服点附近测试样本的特性会发生显著变化。在屈服点之前,测试样本发生弹性形变,即当外力消失时,形变也消失,与橡皮筋类似。若继续增大外力作用,则测试样本会发生永久变形,也称塑性变形。在图中对屈服点做出标注。
拉力测试数据
负 载 | 长 度 | 负 载 | 长 度 |
0 | 2 | 7750 | 2.010 |
1650 | 2.002 | 8650 | 2.020 |
3400 | 2.004 | 9300 | 2.040 |
5200 | 2.006 | 10100 | 2.080 |
6850 | fprintf格式 2.008 | 10400 | 2.120 |
程序代码:
%% 定义已知变量 F=[1650 3400 5200 6850 7750 8650 9300 10100 10400]; L=[2.002 2.004 2.006 2.008 2.010 2.020 2.040 2.080 2.120]; L0=2; A=0.505^2*pi/4; %% one yinli=F./A xinbian=(L-L0)./L0 %% two plot(yinli,xinbian,'-ok') %% three title('应力应变变化图'),xlabel('yinli'),ylabel('xinbian') %% four gtext('屈服点') | |
(2)创建矢量x,范围在0~20 之间,步长为/100。矢量y和z分别等于
①在x-y坐标系中画出x和y的关系曲线。
②在极坐标系中画出x和y的关系曲线。
③画出x、y和z的三维曲线,并在图中添加标题和坐标轴标注。
④为了产生如下图所示的类似龙卷风的曲线应如何调整plot3中的输入参数,用comet3代替plot3绘制曲线。
%% one
x=0:pi/100:20*pi;
y=x.*sin(x);
z=x.*cos(x);
plot(x,y)
%% two
figure(2)
polar(x,y)
%% three
figure(3)
plot3(x,y,z)
xlabel('x'),ylabel('y'),zlabel('z'),title('三维曲线')
%% four
figure(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:
1用函数mesh创建Z的三维图。
2用函数surf创建Z的三维图。比较单个输入变量和三个输入变量(X,Y,Z)时输入结果的区别。
3给输出的曲面图增加渲染阴影效果。
4绘制Z的等高线图。
5绘制Z的曲面图并加上等高线。
%% 变量定义 x=-5:0.5:5; y=-5:0.5:5; [X,Y]=meshgrid(x,y); Z=sin(sqrt(X.^2+Y.^2)); %% one mesh(Z) %% two figure(2) subplot(2,2,1) surf(Z) subplot(2,2,2) surf(X,Y,Z) %% three shading interp %% four subplot(2,2,3) contour(X,Y,Z) %% five subplot(2,2,4) surfc(X,Y,Z) | |
(1)导入课堂内容
Matlab是一种基于函数的编程语言。函数就是用户输入参数,返回输出结果的程序。Matlab的有内置函数和自定义函数。内置函数主要包括三角函数、对数函数、统计分析函数等。
Eg: 三角函数 sin、cos、asin、acos等
Eg: sin(pi/2) ans = 1
sin(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中的实体模型函数,可以产生一个三维球体,查看其程序代码,输入
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论