网站首页  词典首页

请输入您要查询的论文:

 

标题 案例教学法在MATLAB语言课程中的应用探讨
范文

    陈旭

    

    【摘 要】针对MATLAB语言课程对抽象思维要求高的特点,将案例教学法引入到MATLAB课程教学中。以微分方程数值求解为例,介绍了案例背景、算法原理、编程语言以及结果分析等方面,向学生展示了MATLAB语言在实际科学问题求解中的应用,加深了学生对课堂知识的理解,培养了学习兴趣,提升了教学效果。

    【关键词】MATLAB;计算机仿真;案例教学法微分方程

    【中图分类号】G642 ??????【文献标识码】A

    【文章编号】2095-3089(2019)16-0009-01

    引言

    MATLAB是由美国Mathworks公司于1984年推出的一门高级计算机语言,具有功能强、效率高、易学习等特点,涵盖了线性代数、数值分析、数据统计、优化设计以及控制系统仿真等领域,成为电气与自动化专业学生重点学习与使用的一门计算机语言。MATLAB课程具有很强的实践性,有利于培养学生动手能力[1]。当前,影响MATLAB语言课程教学效果主要在以下方面。首先,MATLAB程序语法多,课堂信息大,教师在讲授编程语法时,由于课堂时间的限制,只能对部分知识点进行演示。其次,课程具有很强的逻辑性,对抽象思维能力要求较高,学生如果不适应计算机编程语言的思维方式,容易丧失学习兴趣,影响学习效果。

    因此,如何设计MATLAB语言的教学方案,提高学生的学习兴趣,增强教学效果,是授课教师关心的重点问题。笔者最近几年一直从事自动化专业MATLAB语言的教学工作,通过引入案例教学方法,培养学生独立思考與解决实际问题的能力,激发了学生的学习兴趣,获得了良好的教学效果。

    一、案例教学法

    案例式教学法是指在教师指导下通过学生对案例的思考、分析和辩论,就问题作出判断和决策,从而提高学生思考、分析和解决问题能力的一种教学方法[2]。

    笔者将案例式教学引入到MATLAB课堂教学中,对每一章节重点知识点,选择有代表性、实用性、趣味性的设计案例,将程序设计过程呈现在大屏幕上,让学生感受参与其中,提高学生学习程序设计的兴趣,大大激发了学生的求知欲。下面以求解常微分方程组的案例,展示案例法在MATLAB课程教学中的应用。

    二、案例教学法在MATLAB课程中的应用

    常微分方程求解是科学计算与工程应用中经常遇到的一类问题,一般不存在解析解,需要采用数值方法求取数值解[4]。本文以常微分方程数值求解为案例,介绍案例教学法在实际课堂教学中的应用。

    首先,向学生介绍常微分方程的基本知识。一般的m阶微分方程可以表示为:

    〖JB({〗y(m)=f(x,y,y′,L,y(m-1))

    y(x0)=y0,y′(x0)=y1,L,y(m-1)(x0)=ym-1〖JB)〗(1)

    高阶微分方程无法采用MATLAB直接求解,必须引入新变量y1=y,y2=y′,L,ym=ym-1将其化解为一阶微分方程组:

    〖JB({〗y′1=y2

    y′2=y3

    L

    y′m-1=f(x,y,y2,L,ym)

    y1(x0)=y0,y2(x0)=y1,L,ym(x0)=ym-1〖JB)〗(2)

    紧接着向学生讲解使用MATLAB求解常微分方程的具体步骤:

    步骤1:列出常微分方程表达式及其初始条件;如果是高阶常微分方程,通过变量替换,将其转化为一阶微分方程组;

    步骤2:编写描述一阶微分方程组的M函数文件;

    步骤3:利用MATLAB提供的solver()函数求解微分方程。

    Matlab中求微分方程数值解solver()函数有七个:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb,其中最常用的是ode45,表示采用四阶-五阶Runge-Kutta算法,它用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长的常微分方程数值解法。具体条用格式如下:

    [T,Y]=solver(‘fun,tsoan,y0),‘fun为一阶微分方程组对应M文件名;tspan为时间矢量;y0为微分方程的初值。

    1.编程和调试。

    在课堂教学中,结合实例,现场一行一行的进行MATLAB代码讲解。实现过程中可对MATLAB语言函数命令、调用方法等进行介绍。同时需注意学生听讲情况,引领学生进入案例情景,理解程序实现流程,掌握实际问题求解步骤。

    【案例1】采用ode45求解以下微分方程组在[0,12]上的解:

    〖JB({〗y′1=y2y3y′2=-y2y3y′3=-0.51y1y2y1(0),y2(0)=1,y3(0)=1〖JB)〗(3)

    首先,编写函数文件funf.m,描述常微分方程组。

    function dy=funf(t,y)

    dy=zeros(3,1);

    dy(1)=y(2)*y(3);

    dy(2)=-y(1)*y(3);

    dy(3)=-0.51*y(1)*y(2);

    然后,编写主函数main.m,调用ode45函数进行问题求解:

    clc;

    clear;

    tspan=[0,12];

    options=odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5])

    y0=[0;1;1];

    [T,Y]=ode45('funf',tspan,y0,options);

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/15 11:21:17