《《经济数学》实训》ppt课件》由会员分享,可在线阅读,更多相关《《经济数学》实训》ppt课件(36页珍藏版)》请在金锄头文库上搜索。
1、经济数学实训课,-用MATLAB解决数学问题 任课老师 金慧萍,主 要 内 容,一、Matlab基本介绍 二、Matlab基本用法和常用的函数介绍 三、用Matlab解决经济数学中的数学问题,使用Matlab软件时,需特别注意几点, 必须在英文状态下输入 clc 并回车=清屏 clear 并回车=取消变量 乘法运算符号 * ,不能省略 分号 ;表示先不运算 inf= pi= Syms x y =定义变量 x y,一、 MATLAB 的基本介绍 MATLAB 是Matrix Laboratory 的缩写, 是Mathworks 公司于1984 年推出的一套科学计算软件,分为总包和若干工具箱. 具
2、有强大的矩阵计算和数据可视化能力. 一方面,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、系统仿真等若干个领域的数学计算, 另一方面,可以实现二维、三维图形绘制、三维场景创建和渲染、科学计算可视化、图像处理、虚拟现实和地图制作等图形图象方面的处理. 同时,MATLAB 是一种解释式语言.简单易学、代码短小高效、计算功能强大、图形绘制和处理容易、可扩展性强.,其优势在于: 矩阵的数值运算、数值分析、模拟; 数据可视化、 2D/3D 的绘图; 可以与FORTRAN、C/C+做数据链接; 几百个核心内部函数; 大量可选用的工具箱.,二、 Matlab基本用法和常用的函数介绍,1
3、. Matlab的启动与退出 常用的进入 Matlab 方法是鼠标双击Windows 桌面上的Matlab 图标 。 在Matlab 的环境中,键入 quit(或 exit) 并回车,将退出Matlab,返回到Windows 桌面.,2. Matlab命令窗口的使用 下图展示了进入Matlab后的工作桌面(窗口). 在matlab命令窗口直接输入命令,再按回车键,则运行显示相应的结果.,3. 三角函数值的计算 在MATLAB 环境下,计算三角函数的一个值或一组值非常方便,只要给定自变量的数据并知道函数名就可以计算出对应函数值 常用的三角函数和反三角函数为: 正弦函数: sin(x) , 反正弦
4、函数: asin(x), 余弦函数: cos(x) ,反余弦函数: acos(x), 正切函数: tan(x), 反正切函数: atan(x)。,注1:Matlab中的“角度”,采用弧度制,且用”pi”表示 例1:计算sin30o的值。 只须在Matlab 环境下键入: sin(pi/6) 并回车,计算机屏幕将显示出计算结果: ans = 0.5000. 例2:计算sin30o ,sin45o ,sin60o的值。 键入: x=pi/6,pi/4,pi/3;sin(x) 并回车,计算机屏幕将显示计算结果:ans = 0.5000 0.7071 0.8660. 或键入:sin(pi/6,pi/4
5、,pi/3),结果是一样的。 注2:Matlab中输入的命令,一定要在“英文半角的状态下”输入。,4. 其他函数值的计算 除了三角函数和反三角函数以外,Matlab 的内部函数还包括基本初等函数在内的一些函数.这些函数的使用如同正弦函数一样,需要给定自变量数据,然后键入函数名、括号、自变量名并回车,便可得对应的函数值数据.,常用基本函数有: 开平方:sqrt(x) 或 x(1/2), x的n次幂:xn; 以e为底的指数:exp(x) , 以a为底的指数函数:ax; 自然对数: log(x), 以10为底的对数:log10(x) ; 最大值:max(x) , 最小值:min(x); 绝对值:ab
6、s(x) ; 取整:fix(x) ; 元素的总和:sum(x), 符号函数:sign(x) 例3:计算log(1),log10(100),sqrt(16)=16(1/2),310,sign(-5)等。,5.基本的数学运算 例4:计算(521.30.8)102 25 键入: (5*2+1.3-0.8)*102/25 并回车,得: ans =42 在Matlab下进行基本数学运算,只需将运算式直接打入提示号()之后,并按回车键即可. Matlab会将运算结果直接存入一变数ans,代表Matlab运算后的答案(Answer)并显示其数值于屏幕上 例4也可以用变量的方法做,如:,我们也可将上述运算式的
7、结果设定给另一个变数x(定义变量) 例4:计算(521.30.8)102 25 键入: Syms x; x = (5*2+1.3-0.8)*102/25 回车得:x = 42 注3: Matlab认识所有一般常用到的加(+)、减(-)、乘(*)、除(/) 的数学运算符号,以及幂次运算() 注4: Matlab还会自动进行记忆体的使用和回收; 若不想让Matlab每次都显示运算结果,只需在运算式最后加上分号(;).,例5:计算 y=sinx e-0.316 ,当x=10时的值。 键入: Syms x y; x=10; y = sin(x)*exp(-0.3*16); y 回车得: y =-0.0
8、045,定义多个变量的情况:,例6:计算 , 当 时的值。,Syms x y z; x=2; y=4; z=x2+exp(x+y)-y*log(x)-3 回车,可以运算出结果是401.6562。 注5:变量要区分字母的大小写,标点符号必须是在英文状态下输入。,注6:要清除前面定义的变量,只需要输入clear即可。但是输入了clear 后又必须要重新定义变量,否则变量无意义。如果没有清除变量,则表示该变量可以继续使用。,6. 解方程 命令格式: Solve (方程,变量)。 例7:求方程x2=4的根。 solve (x2-4=0,x) ans = -2 2,例8:求方程x-sinx=1/2的根。
9、 solve (x-sin(x)=1/2,x) ans = 1.4973003890958923146815215409476,注7:方程与变量一定要用单引号 ;方程中的“=0与变量x”可以省; 另外这个命令只适合求一元方程的根。,7. 求极限 命令格式: Syms x; Limit (函数名,变量,趋近值),例9:求,。, syms x; limit(sin(x)/x) ans = 1,注8:当,时,变量和趋近值都可以不用写; 其他情况,必须写出变量和趋近值。,例10 求:, syms x; limit(x2-1)/(x2+3*x-4),x,1) ans = 2/5,例11 求:, syms
10、 x; limit(exp(x),x,-inf) ans = 0,8.求导数 命令格式: syms x; diff(函数名) 表示求函数的一阶导数; diff(函数名,变量名,n) 表示函数对该变量求n阶导数。,例12:求,的一阶导数,10阶导数,11阶导数等。, syms x; diff(x10) ans =10*x9,diff(x10,x,10) ans =3628800 diff(x10,x,11) ans =0,例13: 求函数,的导数。, diff(xx) 或diff(xx,x,1) ans = xx*(log(x)+1),例14: 求函数,的导数。,diff(sin(1/x)2)
11、ans = -2*sin (1/x)* cos (1/x)/x2 注9:当变量为x,并求1阶导数时,可省略”变量名”与”n”。,9. 绘平面图形 (1)linspace函数的使用 命令格式: Linspace(x1,x2,n) 表示:x1为首分量,x2为末分量的n维向量(即n-1等分)。,例15: linspace(0,100,5) ans = 0 25 50 75 100 linspace(0,-100,5) ans = 0 -25 -50 -75 -100 linspace(0,100,101) ans=1 2 3 - 100 101,注10:如果没有指明n,则默认100维向量(即99等分
12、)。, linspace(1,100) ans=1 2 3 -99 100,(2) 一元函数的绘图,命令格式: fplot(fun,a,b) 例16: 画出 y=sinx的图像,x属于0,2pi. fplot(sin(x),0,2*pi),例17 画出 在-5,5内的图像。, fplot(x*sin(1/x),-5,5),问: fplot(x*sin(1/x),-0.1,0.1) 图会如何?,(3)多个函数的绘图,plot是Matlab的最基本的绘制二维图形指令。 其主要功能是根据函数自变量的一组值,绘制出函数的图形; 基本格式有下面几种:,plot(X,Y) (2) plot(Y) (3)
13、plot(X1,Y1,X2,Y2) (4) plot(x,y,s) s是控制图形的颜色及图形的连线方式(见下表),表1-3 图形控制选项列表,例18: 绘制 y=sinx 在 0,2pi 内的图像,x=linspace(0,2*pi,100); y=sin(x); plot(x,y),问: x=linspace(0,2*pi,5); y=sin(x); plot(x,y),x=linspace(0,2*pi,100); y=sin(x); plot(x,y,s), x=linspace(0,2*pi,100); y=sin(x); plot(x),x=linspace(0,2*pi,100);
14、 y=sin(x); plot(x,y,r) 它们的图形会如何?,例19: 在同一个坐标系内画出函数y=sinx和y=cosx在-2pi,2pi内的图像。,x=linspace(-2*pi,2*pi,200); y1=sin(x); y2=cos(x); plot(x,y1,x,y2),例20: 在同一个坐标系内画出函数y=sinx和y=cosx在0,2pi内的图像;并且 正弦函数图像用红色的五角星表示,其余部分用实线连接;余弦函数的图像用黑色的加号表示,其余部分用虚线连接。, x=linspace(0,2*pi,50); y1=sin(x); y2=cos(x); plot(x,y1,-rp
15、,x,y2,-k+),Matlab提供了许多很实用的绘制特殊二维图形的函数,常用的有如下表所列的函数。,注11:如需要具体了解某个函数的用法和效果,可以输入“help 函数名”即可。 如需要画柄状图,则输入“help pie”就可以查看。,例21: 绘制y=sinx在0,2pi内的条形图。, x=linspace(0,2*pi,20); y=sin(x); bar(x,y,r), x=linspace(0,2*pi,40); y=sin(x); bar(x,y,r),*(4)三维空间的绘图 Plot3 命令将绘制二维图形的函数plot的特性扩展到三维空间。 除了数据多了一维之外,它的格式与plot相同。具体的命令格式为: Plot3 (X1,Y1,z1,X2,Y2,z2) 后面可以相应的加上控制组合。,*例22 绘制函数x=tsint,y=tcost,z=t的三维图形。, t=linspace(0,20*pi,1000); plot3 (t.*sin(t),t.*cos(t),t) t=linspace(0,20*pi,1000); plot3 (t.*sin(t),t.*cos(t),t); grid on,Matlab中绘制带网格的曲面图使用mesh函数。,*例23: 绘制,的图像。,syms x y z r x=lin