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

上传人:小飞机 文档编号:6511864 上传时间:2023-11-08 格式:PPT 页数:64 大小:2.64MB
返回 下载 相关 举报
MATLAB基础及其在数学建模中的应用.ppt_第1页
第1页 / 共64页
MATLAB基础及其在数学建模中的应用.ppt_第2页
第2页 / 共64页
MATLAB基础及其在数学建模中的应用.ppt_第3页
第3页 / 共64页
MATLAB基础及其在数学建模中的应用.ppt_第4页
第4页 / 共64页
MATLAB基础及其在数学建模中的应用.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《MATLAB基础及其在数学建模中的应用.ppt》由会员分享,可在线阅读,更多相关《MATLAB基础及其在数学建模中的应用.ppt(64页珍藏版)》请在三一办公上搜索。

1、MATLAB基础及其在数学建模中的应用,大连大学数学建模工作室,陈皓,数学建模与计算机,数学建模是在20世纪60和70年代进入一些西方国家大学的 60和70年代计算机产品的设计和更新换代。,工欲善其事,必先利其器,讲座目标初步了解MATLAB;掌握其相关规则、常用函数;能进行简单的画图、计算;能解决一些实际问题。,Matlab语言基本元素,常量,变量圆周率,圆的面积 运算符加 减 乘 除等语句判断 循环 选择函数sin()等,矩阵,在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。,目录,MATLAB简介MATLAB 数据类型基本命令数学函数简单语句图形操作常

2、见作图函数获得帮助应用举例自定义函数,1、MATLAB简介,MATLAB是MAtrix LABoratory(矩阵实验室)的缩写;MATLAB是美国新墨西哥大学Clever Moler博士首创,采用FORTRAN语言编写,其初衷是解决线性代数课程中繁琐的矩阵运算。20世纪80年代后出现了MATLAB的第二版,全部采用C语言编写;1984年Moler博士和一批数学家及软件专家创建了MathWorks公司,专门开发MATLAB。,1、MATLAB简介,MATLAB可以进行,数学计算、算法开发、数据采集;建模、仿真;数据分析、开发和可视化;科学和工程图形应用程序的开发,包括图形用户界面的创建。,1、

3、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默认桌面的中间,显示命令

4、提示符为“”,可在“”之后输入命令,按下Enter键后MATLAB会立即显示结果并将结果自动赋予变量ans,例如:(3.14*32+3)/2 ans=15.6300,2、MATLAB数据类型,常量,在MATLAB中有一些特定的变量,它们已经被预定义了某个特定的值,因此这些变量被称为常量。MATLAB 中的常量主要有pi、inf 和 eps等。,2、MATLAB数据类型,变量,变量是MATLAB 的基本元素之一,MATLAB 语言不要求对所使用的变量进行事先说明或指定变量的类型,系统会根据该变量被赋予的值或对该变量所进行的操作来自动确定变量的类型;变量名长度不超过31位,超过31位的字符系统将忽

5、略不计;变量名区分大小写;变量名必须以字母开头,变量名中可以包含字母、数字或下划线,但不允许出现标点符号。,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

6、,9A=1 2 3 4 5 6 7 8 9A(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)=10A=10 2 3 4 5 6

7、 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.*Aans=1 4 9 16 25 36 49 64 81,注意以下操作结果的区别,3、基本命令,A=1,2,3;4,5,6;7,8,9 A*Aans=30 36 42 66 81 96 102 126 150 mean(A)ans=4 5 6,3、基本命令,x=1,2,3 mean(x)ans=2常用函数:meansumsort注意:若这些函数作用

8、在矩阵上,其默认状态是对列操作,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

9、.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 endif flag else end,switch caseend,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

10、(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)subp

11、lot(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);,三维

12、作图,plot3(x,y,z)三维绘图基本命令mesh(X,Y,Z)三维网格图surf(X,Y,Z)三维曲面图,9、作图函数,plot3x=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、作图函数,surfx=0:0.05:pi*2;y=sin(x);x,y=meshgrid(x,y);z=cos(x).*

13、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;%坐标集合

14、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两点间距离 endend,数据拟合有如下数据: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

15、 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 三次样

16、条插值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 endend,11、应用举例,格式:function 返回值=filename(输入参数)例1:定义一个函数,功能是求输入参数的阶乘function y=f(x)y=1;for i=1:x y=y*i;end,12、自定义函数,Thanks,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号