1 / 23

《 数学实验 》 课程

《 数学实验 》 课程. 什么是数学实验? 简单讲就是利用计算机和数学软件平台, 一方面,对学习知识过程中的某些问题进行实验探究、发现规律; 另一方面,结合已掌握的数学(微积分、代数与几何等)知识,去探究、解决一些简单实际问题,从而熟悉从数学建模、解法研究到实验分析的科学研究的方法。. 《 数学实验 》 课程. 课程的性质、目的 数学实验是最近几年出现的新课程,其目的是锻炼动手能力,培养应用数学知识解决实际问题的意识和能力。

Download Presentation

《 数学实验 》 课程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 《数学实验》课程 • 什么是数学实验? 简单讲就是利用计算机和数学软件平台, 一方面,对学习知识过程中的某些问题进行实验探究、发现规律; 另一方面,结合已掌握的数学(微积分、代数与几何等)知识,去探究、解决一些简单实际问题,从而熟悉从数学建模、解法研究到实验分析的科学研究的方法。

  2. 《数学实验》课程 • 课程的性质、目的 数学实验是最近几年出现的新课程,其目的是锻炼动手能力,培养应用数学知识解决实际问题的意识和能力。 本课程通过介绍数学软件(MATLAB),运用数学课程所学习的一些知识与方法,对一些简单的实际问题进行数学建模、解题方法的设计与上机实践。 课程包括讲课、讨论和使用计算机进行实验等环节。

  3. 先看两个例子 例1 数列极限(第23页例11-2):动态显示数列极限 • MATLAB程序: hold on % 图形迭加 axis([0,100,2,3]); % 设置坐标轴 grid % 加坐标网格 for n=1:90 % 循环操作 an=(1+1/n)^n; % 计算数列值 plot(n,an,'r*'); % 画出坐标点 pause(0.05); % 暂停0.05秒 fprintf('n=%d an=%.4f\n',n,an); % 显示坐标位置 end

  4. 例2 导弹打击过程仿真(第24页例12-2) 设A(0,0)为一导弹发射点,发现位于B(0,100)处一架敌机沿水平方向逃离,随即发射一枚导弹予以打击,现已知导弹时刻对准敌机,且速率为飞机速率的两倍(设飞机速度为1)。 试编程模拟导弹打击敌机 的动态过程,并实时给出 飞机和导弹的位置坐标。 若要在敌机飞行距离不超 过60时(我方空域)将其 击落,导弹的速率应提高 到多少?

  5. MATLAB程序: hold on % 图形迭加 axis([0,100,0,120]); % 设置坐标轴 k=0; A=[0,0]; %导弹初始位置 B=[0,100]; %飞机初始位置 v=1; dt=1; %离散时间改变量 d=100; %相距距离 while d>0.5 plot(A(1),A(2),‘r.’); %画导弹位置 plot(B(1),B(2),‘b*’); %画飞机位置 pause(0.2); k=k+1; B=B+[v*dt,0]; %飞机移动位置 e=B-A; %导弹指向飞机向量 d=norm(e); e0=e/d; %取向量方向(单位化) A=A+2.0*v*dt*e0; %导弹追击位置 fprintf('k=%.0f A(%.2f,%.2f) B(%.2f,100) d=%.2f\n',k ,A(1),A(2),B(1), d); end

  6. 《数学实验》课程 • 学习课程的要求 1.熟悉计算机操作与有关数学软件的使用; 2.掌握好高等数学的知识体系和数学方法; 3.具有刻苦钻研、积极探究的学习精神; 4.培养勤于思考、乐于动手的实践能力; 5.具有不怕困难,善于总结,相互协作,开拓创新的意志。

  7. 《数学实验》课程 • 课程的教学: 1)通过介绍数学软件-MATLAB,学会数学软件 的基本操作与使用; 2)利用数学软件对数学课程中的一些数值计 算数值方法进行上机实验; 3)通过简单的应用问题,运用有关的数学知识 建立数学模型、分析求解方法并上机实现。

  8. 《数学实验》课程 • 教学的要求: 每次实验按2人为一实验小组,实验完成后共同填写一份实验报告上交,教师批改后给出成绩,最后综合评定出最终成绩(10分制)。 实验成绩将纳入到所学的高等数学课程的期末成绩之中,占一定的比例(一般10%)。

  9. MATLAB软件简单介绍 • MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱” ; • 同时还提供了编程计算的功能,通过编程可以解决一些复杂的工程问题; • 也可绘制二维、三维图形,输出结果可视化。 目前,已成为工程领域中较常用的软件之一。

  10. 运行MATLAB创建一个或多个窗口 a)命令区(Command Window)是用户使用的主要场所,此时,可以输入变量、数组及运算命令,进行一些简单的运算;用↑↓←→键搜索、修改以前使用过的命令操作, 用clc清除窗口; 用help sqrt ( help input …)寻求有关帮助; b)编辑区(Editor\Debugger Window)编制各种M-文件,存盘(Save)、运行(Run)等.

  11. MATLAB中帮助功能 在命令区(Command Window)键入help命令查看工具箱 elmat - Elementary matrices and matrix manipulation. elfun - Elementary math functions. specfun - Specialized math functions. 键入 help elfun help abs help sqrt help linspace

  12. MATLAB中基本代数运算符 运算 符号 举例 加法: a+b + 5+3 减法: a-b - 5-3 乘法: a×b * 5*3 除法: a÷b / 48/4 乘幂: ^ 5^2=25

  13. MATLAB中数组、矩阵基本运算符 运算 符号 举例 加法: a+b + [1 2]+[3 4] [1,2]+3 减法: a-b - [1 2]-[3 4] [1,2]-3 乘法: a*b * [1,2]*3 [1,2]' *[3,4] a.*b .* [1,2].*[3,4]=[3,8] 除法:a./b ./ [1,2]./[3,4]=[0.3,0.5] 逆乘: 左乘 \ ax=b  x=a\b=inv(a)*b 右乘 / xa=q  x=q /a=q *inv(p) 乘幂: 方阵的幂 ^ a^2=a*a 元素的幂 .^ a.^2 x.^3

  14. 变量及数组输入 • 1:向量方式输入 x=[1,2,3,4,5] %以向量(数组)方式给x赋值 x(3)=3 x(5)=5 x1=[1 12 –3 4 sqrt(5)]; z=sqrt(x) %每个元素开方

  15. 变量及数组输入 • 2:矩阵方式输入 a=[1,2,3;4,5,6;7,8,0] %矩阵输入 (a为3阶方阵) b=[366;804;351] %列矩阵输入 det(a) %方阵行列式 inv(a) %方阵的逆 x=a\b %ax=b方程组的解 y=inv(a)*b %与x相同 disp([a,b,x]) %显示矩阵

  16. 变量及数组输入 • 3:数组的分点输入 x=linspace(0,2*pi,30); %按分点赋值 y=sin(x); plot(x,y);%画正弦曲线

  17. 变量及数组输入 • 4:数组的步长输入 t=0:0.5:7 z=t.^2; hold on %图形保持 plot(t,z, 'bo');%画y=x^2曲线 plot(t,z, 'r--'); hold off

  18. MATLAB中符号函数的表示 符号函数 MATLAB表示 '1/(2*x^n)' '1/sqrt(2*x)' 'sin(x^2)-cos(2*x)' M=sym('[a,b;c,d]') f=int('x^2', 'a', 'b')

  19. MATLAB中符号运算 • fx='2*x^n' %建立函数 diff(fx) %对变量x求一阶导数 diff(fx, ‘n’,2) %对变量n求二阶导数 • fx='x/(1+x^2)' int(fx) %对fx求不定积分 int(fx,0, 't') %对fx在[0,t]上求定积

  20. MATLAB中符号运算 • fx='a*x^2+b*x+c' solve(fx) %求方程fx=0的符号解 solve(fx, 'b' ) %求方程fx=0关于变量b的符号解 • syms x fx= '1/(1+exp(-1/x))' limit(fx,x,0, 'right') %求fx:x->0右极限 limit(fx,x,0, 'left') %求fx:x->0左极限 limit(fx,x,inf, 'left') %求fx:x->+∞极限

  21. MATLAB中的数值函数运算 • 建立数值函数(inline命令) f=inline(‘x.^2-3’); 建立一元函数,默认x为自变量; u=inline('x.^y-3', 'x','y'); %建立二元函数,x为第一自变量,y为第二自变量; • 求函数值 :f(2)、u(2,3) • 画曲线:fplot(f,[0,2]); %画一元函数在[0,2]上的图象 • 求函数零点 c=fzero(f,1);%求一元函数在x=1附近的零点c. c=fzero(u,1,[ ],2) %求二元函数y=2时在x=1附近的零点c.

  22. MATLAB二维、三维图形 • 例6-4 在矩形域[-1,1]X[-1,1]上绘制旋转抛物面:。 x=linspace(-1,1,100); %按100等分分割[-1,1]生成x数组 y=x; %与x相同,按100等分分割[-1,1]生成y数组 [X,Y]=meshgrid(x,y); %生成矩形域上网格节点矩阵 Z=X.^2+Y.^2; %生成函数值矩阵 plot3(X,Y,Z) ; %画网格曲面 mesh(X,Y,Z) ; %画网格曲面并赋以颜色 surf(X,Y,Z) ; %画光滑曲面 shading flat ; %对曲面平滑并除去网格

  23. 本次实验上机要求 • 熟悉讲义中第一章——第六章中相关命令、例题; 实验讲义中第一章——第六章中练习题 • 实验课(上机)安排: 每个人按所在小班(自然班),按登记时间上机; • 平时也可到图书馆上机,Matlab(5.3版)软件可从网上搜索下载使用.

More Related