MATLAB基础及其在数学建模中的应用.ppt

上传人:sh****n 文档编号:2889371 上传时间:2019-12-03 格式:PPT 页数:64 大小:2.77MB
返回 下载 相关 举报
MATLAB基础及其在数学建模中的应用.ppt_第1页
第1页 / 共64页
MATLAB基础及其在数学建模中的应用.ppt_第2页
第2页 / 共64页
MATLAB基础及其在数学建模中的应用.ppt_第3页
第3页 / 共64页
点击查看更多>>
资源描述
MATLAB基础及其在数学建模中的应用,大连大学数学建模工作室,陈皓,数学建模与计算机,数学建模是在20世纪60和70年代进入一些西方国家大学的 60和70年代计算机产品的设计和更新换代。,工欲善其事,必先利其器,讲座目标 初步了解MATLAB; 掌握其相关规则、常用函数; 能进行简单的画图、计算; 能解决一些实际问题。,Matlab语言基本元素,常量,变量圆周率,圆的面积 运算符加 减 乘 除等 语句判断 循环 选择 函数sin()等,矩阵,在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。,目录,MATLAB简介 MATLAB 数据类型 基本命令 数学函数 简单语句 图形操作 常见作图函数 获得帮助 应用举例 自定义函数,1、MATLAB简介,MATLAB是MAtrix LABoratory(矩阵实验室)的缩写; MATLAB是美国新墨西哥大学Clever Moler博士首创,采用FORTRAN语言编写,其初衷是解决线性代数课程中繁琐的矩阵运算。20世纪80年代后出现了MATLAB的第二版,全部采用C语言编写; 1984年Moler博士和一批数学家及软件专家创建了MathWorks公司,专门开发MATLAB。,1、MATLAB简介,MATLAB可以进行,数学计算、算法开发、数据采集; 建模、仿真; 数据分析、开发和可视化; 科学和工程图形应用程序的开发,包括图形用户界面的创建。,1、MATLAB简介,MATLAB的主要应用领域 (1)数值分析; (2)数值和符号计算; (3)工程与科学绘图; (4)控制系统的设计与仿真; (5)数字图像处理; (6)数字信号处理; (7)通讯系统设计与仿真; (8)财务与金融工程。,1、MATLAB简介,MATLAB优势 强大易用的科学计算语言; 全面的图形功能; 独立开放的平台; 实用的程序接口。,1、MATLAB简介,命令窗口(Command Window) 工作空间管理窗口(Workspace) 历史命令窗口(Command History),MATLAB主要窗口,Diagram,1、MATLAB简介,命令窗口 命令窗口位于MATLAB默认桌面的中间,显示命令提示符为“”,可在“”之后输入命令,按下Enter键后MATLAB会立即显示结果并将结果自动赋予变量ans,例如: (3.14*32+3)/2 ans = 15.6300,2、MATLAB数据类型,常量,在MATLAB中有一些特定的变量,它们已经被预定义了某个特定的值,因此这些变量被称为常量。MATLAB 中的常量主要有pi、inf 和 eps等。,2、MATLAB数据类型,变量,变量是MATLAB 的基本元素之一,MATLAB 语言不要求对所使用的变量进行事先说明或指定变量的类型,系统会根据该变量被赋予的值或对该变量所进行的操作来自动确定变量的类型; 变量名长度不超过31位,超过31位的字符系统将忽略不计; 变量名区分大小写; 变量名必须以字母开头,变量名中可以包含字母、数字或下划线,但不允许出现标点符号。,2、MATLAB数据类型,变量的赋值 实数赋值 x=5 复数赋值 x=5+10j (或 x=5+10i) 向量的赋值 行向量赋值:x=1 2 3 (或 x=1, 2 ,3) 列向量赋值:y=1;2;3 矩阵的赋值:x=1 2 3; 4 5 6; 7 8 9,3、基本命令,矩阵运算 + 两矩阵相加 - 两矩阵相减 * 两矩阵相乘 / 右除 左除 乘方 转置,3、基本命令,数组运算 + 两数组相加 - 两数组相减 .* 两数组相乘 ./ 对应元素相除 . 乘方,3、基本命令,逻辑运算符,3、基本命令,矩阵的行列操作 A=1,2,3;4,5,6;7,8,9 A = 1 2 3 4 5 6 7 8 9 A(2,2) ans = 5,矩阵操作,3、基本命令,初等数学计算,(1)在MATLAB指令窗中输入以下内容: (12+2*(7-4)/32 (2)在上述表达式输入完成后,按【Enter】键,该指令被执行; (3)在指令执行后,MATLAB指令窗中将显示以下结果: ans = 2,3、基本命令,矩阵的行列操作 A=1 2 3;4 5 6;7 8 9 A(1,:) ans = 1 2 3 A(:,1) ans = 1 4 7,3、基本命令,矩阵的行列操作 A=1 2 3;4 5 6;7 8 9 A(2:3,1:2) ans = 4 5 7 8 A(1,1)=10 A = 10 2 3 4 5 6 7 8 9,3、基本命令,常用的矩阵 名 称 调用格式 zeros zeros(n)或zeros(n,m) ones ones(n) 或ones(n,m) eye eye(n) 或eye(n,m),3、基本命令, A=1,2,3;4,5,6;7,8,9 A.*A ans = 1 4 9 16 25 36 49 64 81,注意以下操作结果的区别,3、基本命令, A=1,2,3;4,5,6;7,8,9 A*A ans = 30 36 42 66 81 96 102 126 150 mean(A) ans = 4 5 6,3、基本命令, x=1,2,3 mean(x) ans = 2 常用函数: mean sum sort 注意:若这些函数作用在矩阵上,其默认状态是对列操作,4、数学函数,常用数学函数 sin cos tan cot 三角函数 asin acos atan acot 反三角函数 exp 指数函数 log log10 对数函数 Sqrt abs 开平方、绝对值 sign 符号函数 sum sort 求和 、排序 limit int 求极限、求积分 solve 方程求根,4、数学函数,示例: x=linspace(0,pi,10) x = 0 0.3491 0.6981 1.0472 1.3963 1.7453 2.0944 2.4435 2.7925 3.1416 sin(x) ans = 0 0.3420 0.6428 0.8660 0.9848 0.9848 0.8660 0.6428 0.3420 0.0000,4、数学函数, x=linspace(0,pi,10); y=sin(x); plot(x,y),5、简单语句,For end for i=1:10 end,If else end if flag else end,switch case end,5、简单语句,例:自己编辑程序计算100的阶乘; Sum=1; for i=1:100 Sum=Sum*i; end factorial(100) ans = 9.3326e+157,6、简单作图,绘制sin和cos曲线。 x=-2*pi:0.05:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,-b,x,y2,-m);,title(sinx and cosx); xlabel(x); ylabel(y); text(0,0,zero); legend(sin,cos) grid on,7、图形控制,坐标控制:axis ylim ylim 网格控制:grid on/off grid minor 多子图: subplot 补 充: xlabel ylabel linewidth makersize,7、图形控制,多子图: subplot (m,n,i) subplot(2,2,1) fplot(sin(x),-pi,pi) subplot(2,2,2) fplot(cos(x),-pi,pi) subplot(2,2,3) fplot(tan(x),-pi,pi) subplot(2,2,4) fplot(cot(x),-pi,pi),8、作图函数,fplot f函数图 polar 极坐标图 bar 柱状图 pie 饼状图,8、作图函数,fplot fplot(sin(x), -pi,pi),8、作图函数,polar t=0:0.01:4*pi; s=abs(sin(2*t).*cos(2*t); polar(t,s,r),8、作图函数,bar p=21 15 41 10 8 8 3 6 2 30; t=0:9; bar(t,p),8、作图函数,pie x=59 15 15 10 8 8 8; pie(x);,三维作图,plot3(x,y,z) 三维绘图基本命令 mesh(X,Y,Z) 三维网格图 surf(X,Y,Z) 三维曲面图,9、作图函数,plot3 x=0:0.01:pi*20; y=sin(x); z=cos(x); plot3(x,y,z),三维作图,9、作图函数,x=0:0.05:pi*2; y=sin(x); x,y=meshgrid(x,y); z=cos(x).*sin(y); mesh(x,y,z) meshc(x,y,z),注:meshgrid的作用是将给定区域平面网格化,三维作图,9、作图函数,surf x=0:0.05:pi*2; y=sin(x); x,y=meshgrid(x,y); z=cos(x).*sin(y); surf(x,y,z),三维作图,9、作图函数,10、获得帮助,如果你知道一个函数名,想了解它的用法,你可以用“help”命令得到它的帮助文档: help functionname 如果你了解含某个关键词的函数,你可以用lookfor命令得到相关的函数: lookfor keyword,11、应用举例,如右图,有10个点,其坐标集合为:,data=2,4,5,6,3,4,5,1,4,3;3,4,7,1,0,3,5,3,6,10; 求图上任意两点间的距离; 数学表达式为:,11、应用举例,data=2,4,5,6,3,4,5,1,4,3; 3,4,7,1,0,3,5,3,6,10; %坐标集合 x=data(1,:); %X轴坐标 y=data(2,:); %Y轴坐标 n=length(x); %求X中元素个数 for i=1:n for j=1:n dis(i,j)=sqrt(x(i)-x(j).2+. (y(i)-y(j).2); %求出i,j两点间距离 end end,数据拟合 有如下数据: x=1 2 3 4 5 6 7 8;Y=4.5 3 5 7.6 4 7 10 7;如右图: 请对其进行5次拟合 拟合函数: polyfit(x,y,n) 方程求解函数: polyval(P,xx),11、应用举例,axis(0 9 0 11) %对坐标进行设置 hold on %保持当前图形 y=4.5 3 5 7.6 4 7 10 7; x=1:8; plot(x,y,o) %画出原始数据 P=polyfit(x,y,5); %对原始数据进行5次拟合 xx=1:0.1:length(y); %取值点 yy=polyval(P,xx); %求取值点的函数值 plot(xx,yy,r-) %画出新图像 title(5次拟合图像) %图形名称,11、应用举例,11、应用举例,数据插值 有如下数据: x=1 2 3 4 5 6 7 8;Y=4.5 3 5 7.6 4 7 10 7;如右图: 请对其进行插值运算 插值函数: interp1(x,y,xx,method),11、应用举例,插值方法 nearst 最近点差值 linear 线性插值 spline 三次样条插值 cubic 三次多项式插值,11、应用举例,axis(0 9 0 11) %对坐标进行设置 hold on %保持当前图形 y=4.5 3 5 7.6 4 7 10 7; x=1:8; plot(x,y,o) %画出原始数据 xx=1:0.1:length(y); %插值点 yy=interp1(x,y,xx,cubic) %进行三次多项式插值 plot(xx,yy,r-) %画出新图像 title(三次多项式插值) %图形名称,11、应用举例,11、应用举例,如图,求图上任意两点间的距离,11、应用举例,数据导入 xlsread(filename) load(filename),11、应用举例,算法的基本步骤,(1)输入权矩阵,(2)计算 其中,(3) 中元素 就是vi到vj的最短路长,Floyd算法,11、应用举例,for k=1:n for i=1:n for j=1:n if Dis(i,k)+Dis(k,j)Dis(i,j) Dis(i,j)=Dis(i,k)+Dis(k,j); R(i,j)=k; end end end end,11、应用举例,格式:function 返回值=filename(输入参数) 例1:定义一个函数,功能是求输入参数的阶乘 function y=f(x) y=1; for i=1:x y=y*i; end,12、自定义函数,Thanks,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!