Matlab与数学建模.ppt

上传人:sh****n 文档编号:6378722 上传时间:2020-02-24 格式:PPT 页数:50 大小:1.61MB
返回 下载 相关 举报
Matlab与数学建模.ppt_第1页
第1页 / 共50页
Matlab与数学建模.ppt_第2页
第2页 / 共50页
Matlab与数学建模.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
Matlab入门 MATLAB提供了两种运行方式 命令行方式和M文件方式 1 变量与函数 变量的命名规则 1 变量名必须是不含空格的单个词 2 变量名区分大小写 3 变量名最多不超过19个字符 4 变量名必须是以字母打头 之后可以是任意字母 下划线 或数字 不允许是用标点符号 特殊变量表 数学运算符号表 常用基本函数 例1求y sinx在x 5时的值 y sin pi 5 y 0 5878 函数M文件 函数M文件是文件名后缀为m的文件 function开始 格式为 function因变量名 函数名 自变量名 函数M文件的文件名必须与函数名完全一致 在m文件编辑窗口录入下列两行 functionyy f2 x yy sqrt x 20 2 100 2 sqrt x 120 2 120 2 x 20 120 y f2 x plot x y 输入命令指令 1 建立M文件 fun m functionf fun x f 100 x 2 x 1 2 2 1 x 1 2 2 在MATLAB命令窗口键入命令 结果f 100 x 12 fun x 2 数组与矩阵 简单数组的输入方法 x 123458718 y 1 7 z 3 2 9 v yz u linspace 2 9 11 数组元素的访问 为了访问数组元素 分量 可对数组元素进行编址 1 访问一个元素 数组元素可以用下标访问 如x i 表示数组x的第i个元素 x 123458718 x 4 2 访问一块元素 访问矩阵的某些元素或子块 x 1 2 3 4 5 6 7 8 9 10 y x 2 2 11 z x 10 3 1 X a b c 表示访问数组x的从a个元素开始 以步长为b到第c个元素 但不超过c 3 直接使用元素编址序号 x abcd 表示提取数组x的第a b c d个元素构成一个新的数组 x a x b x c x d m 5827 数组的方向 b 1 2 3 4 d 1234 c 1 2 3 4 e c 说明 以空格或逗号分隔的元素指定的是不同列的元素 而以分号分隔的元素指定了不同行的元素 数组的运算 1 标量 数组运算 数组对标量的加 减 乘 除 乘方是数组的每个元素对该标量施加相应的加 减 乘 除 乘方运算 设 a a1a2 an c是标量 则a c a1 c a2 c an c a c a1 c a2 c an c a c a1 c a2 c an c a c c a1 c a2 c an a c a1 c a2 c an c c a c a1 c a2 c an 例编写m文件biaoliangshuzu m如下 a 1234 c 2 a1 a ca2 a ca3 a ca4 a ca5 a ca6 c a 2 数组 数组运算 当两个数组有相同的维数时 加 减 乘 除 幂运算可按元素对元素的方式进行 维数不同的不能进行运算 设 a a1 a2 an b b1 b2 bn 则 a b a1 b1 a2 b2 an bn a b a1 b1 a2 b2 an bn a b a1 b1 a2 b2 an bn a b b1 a1 b2 a2 bn an a b a1 b1 a2 b2 an bn 编写m文件shuzushuzu ma 2222 b 3333 c1 a bc2 a bc3 a bc4 a bc5 a b 矩阵 1 矩阵的建立 a 1234 5678 9101112 编写m文件juzhensc m如下 a b zeros 2 3 c ones 2 3 d eye 2 3 e eye 3 3 矩阵中元素的操作 1 矩阵A的第r行 A r 2 矩阵A的第r列 A r 3 依次提取矩阵A的每一列 将A拉伸为一个列向量 A 4 取矩阵A的第i1 i2行 第j1 j2列构成新矩阵 A i1 i2 j1 j2 5 删除A的第i1 i2行 构成新矩阵 A i1 i2 6 删除A的第j1 j2列 构成新矩阵 A j1 j2 7 将矩阵A和B拼接成新矩阵 AB A B 编写m文件juzhencz ma 123 456 789 a1 a 2 a2 a 2 a3 a a4 a 1 2 2 3 a5 a a5 1 2 a6 a a6 1 a7 aa2 a8 a a1 矩阵的运算 线性代数中所定义的矩阵运算命令如下 编写m文件juzhenyusuan ma 123 456 b 12 12 12 c2 a bc 273 394 153 c3 det c c4 inv c v d eig c 3 MATLAB程序设计 控制流 MATLAB提供三种决策或控制流结构 for循环 while循环和if else end结构 1 for循环 允许一组命令以固定的和预定的次数重复 for循环的一般形式为 forx array commands end 在for和end语句之间的命令串 commands 按数组 array 中的每一列执行一次 在每一次迭代中 x被指定为数组的下一列 即在第n次循环中 x array n 编写m文件forxunhuan m如下 forn 1 10 x n sin n pi 10 endx 2 while循环 与for循环以固定次数求一组命令相反 while循环以不定的次数求一组语句的值 while expression commands end 只要在表达式 expression 里的所有元素为真 就执行while和end语句之间的命令串 commands 例2 设银行年利率为11 25 将10000元存入银行 问多长时间会连本带利翻一番 编写m文件whilexunhuan m如下 money 10000 years 0 whilemoney 20000years years 1 money money 1 11 25 100 endyearsmoney 3 if else end结构 1 有一个选择的一般形式 if espression commands end 例3 设 先建立以下m文件fun1 m定义函数f x 再在MATLAB命令窗口输入fun1 2 fun1 1 即可 fun1 m如下 functionf fun1 x ifx 1f x 2 1endifx 1f 2 xend 2 有两个选择的一般形式是 if expression commands1 else commands2 end 3 有三个或更多选择的一般形式是 if expression1 commands1 elseif expression2 commands2 elseif else commands end endend 例4 设 先建立以下m文件fun2 m定义函数f x 再在MATLAB命令窗口输入fun2 2 fun2 0 5 fun2 1 即可 functionf fun2 x ifx 1f x 2 1elseifx 0f x 3elsef 2 xendend MATLAB作图 Matlab作图是通过描点 连线来实现的 故在画一个曲线图形之前 必须先取得该图形上的一系列的点的坐标 即横坐标和纵坐标 然后将该点集的坐标传给Matlab函数画图 plot X Y S plot X Y plot X Y1 S1 X Y2 S2 X Yn Sn X Y是向量 分别表示点集的横坐标和纵坐标 命令plot X Y S 描绘该点集所表示的曲线 其线形 线的形状 由S确定如下 1 曲线图 命令plot X Y 画实线 其参数X Y与plot X Y S 中的相同 命令plot X Y1 S1 X Y2 S2 X Yn Sn 将多条线画在一起 例1 1 在区间 0 2 画sinx 2 在 0 2 用红线画sinx 用绿圈画cosx 解输入命令 x linspace 0 2 pi 30 y sin x plot x y 2 x linspace 0 2 pi 30 y sin x z cos x plot x y r x z co 2 符号函数 显函数 隐函数和参数方程 画图 符号函数画图可以通过函数 ezplot 或 fplot 来实现 ezplot的调用格式 ezplot f a b 表示在a x b绘制显函数f f x 的函数图 ezplot f xmin xmax ymin ymax 表示在区间 xmin xmax ymin ymax 绘制隐函数f x y 0 ezplot x y tmin tmax 表示在区间 tmin tmax 绘制参数方程x x t y y t 的函数图 fplot fun lims 表示绘制字符串fun指定的函数在lims xmin xmax 的图形 fun必须是m文件的函数名或是独立变量为x的字符串 此字符串被送入函数eval 函数fun x 必须对向量中的每个元素x返一行向量 fplot函数不能参数方程和隐函数图形 但在一个图上可以画多个图形 例2 在 0 上画y sinx的图形 解输入命令 ezplot sin x 0 pi 解输入命令 ezplot cos t 3 sin t 3 0 2 pi 解输入命令 ezplot exp x sin x y 2 0 5 0 2 解先建m文件myfun1 m functionY myfun1 x Y exp 2 x sin 3 x 2 再输入命令 fplot myfun1 1 2 例6 在 2 2 范围内绘制函数tanh的图形 解fplot tanh 2 2 例7 将x y的取值范围都限制在 2 2 画函数tanx sinx cosx的图形 解fplot tan x sin x cos x 2 pi 11 11 3 对数坐标图 例8 用方形标记创建一个简单的loglog图 解输入命令 x logspace 1 2 loglog x exp x s gridon 例9 创建一个简单的半对数坐标图 解输入命令 x 0 0 1 10 semilogy x 10 x 三维图形 空间曲线和曲面 三维曲线 例1 在区间 0 10 画出参数曲线x sint y cost z t 并分别标注 解输入命令 t 0 pi 50 10 pi plot3 sin t cos t t 例2 画多条曲线 观察函数Z X Y 2 解输入命令 x 3 0 1 3 y 1 0 1 5 X Y meshgrid x y 变成矩阵 配套组合 Z X Y 2 plot3 X Y Z 2 空间曲线 例3 画函数Z X Y 2的图形 解输入命令 x 3 0 1 3 y 1 0 1 5 X Y meshgrid x y Z X Y 2 surf X Y Z 例4 将曲面peaks平滑 解输入命令 X Y Z peaks 30 surf X Y Z shadingflat 例5 画出曲面Z X Y 2的网格图 解输入命令 x 3 0 1 3 y 1 0 1 5 X Y meshgrid x y Z X Y 2 mesh X Y Z 例6 绘peaks的网格图 解输入命令 X Y meshgrid 3 0 125 3 Z praks X Y meshz X Y Z 处理图形 例1 在区间 0 2 pi 画sinx的图形 加格栅 并加注图例 自变量X 函数Y 示意图 解输入命令 x linspace 0 2 pi 30 y sin x plot x y gridon xlabel 自变量X ylabel 函数Y title 示意图 例2 在 0 2 pi 画sinx cosx 并分别标注 sinx cosx 解输入命令 x linspace 0 2 pi 30 y sin x z cos x plot x z x y gtext sin x gtext cos x 命令axisauto将坐标轴返回到自动缺省值 例3 在区间 0 005 0 01 显示y sin 1 x 的图形 解输入命令 x linspace 0 0001 0 01 1000 y sin 1 x plot x y axis 0 0050 01 11 定制坐标 图形保持 1 holdonholdoff 命令holdon保持当前图形 以便继续画图到当前的图上 命令holdoff释放当前图形窗口 注意 holdon holdoff 后面不能跟分号 若想将多条曲线画在一起 则可用 holdon 例4 将y sinx y cosx分别用点和线画在同一屏幕上 解输入命令 x linspace 0 2 pi 30 y sin x z cos x plot x z ro holdonplot x y 2 H figurefigure H 命令H figure创建图形并返回图形的句柄 命令figure H 新建H窗口 激活图形H使其可见 并把它置于其他图形之上 例5 在区间 0 2 pi 分别画出y sinx z cosx的图形 保持并显示y sinx的图形 解输入命令 x linspace 0 2 pi 100 y sin x z cos x plot x y title sin x pausefigure 2 plot x z title cos x 图区控制 分隔平面 若打算在一个屏幕上画各自独立的多个图形 则需将屏幕分割为多块 并分别作图 H subplot mrows ncols thisPlot subplot mrows ncols thisPlot subplot 1 1 1 命令H subplot mrows ncols thisPlot 划分整个作图区域为mrows ncols块 逐行对块访问 并激活第thisPlot块 其后的作图语句将图形画在该块上 命令subplot mrows ncols thisPlot 激活已划分为mrows ncols块的屏幕中的第thisPlot块 其后的作图语句将图形画在该块上 命令subplot 1 1 1 返回非分割状态 例6 将屏幕分割为四块 并分别画上y sinx z cosx a sinx cosx b sinx cosx 解输入命令 x linspace 0 2 pi 100 y sin x z cos x a sin x cos x b sin x cos x eps subplot 2 2 1 plot x y title sin x subplot 2 2 2 plot x z title cos x subplot 2 2 3 plot x a title sin x cos x subplot 2 2 4 plot x b title sin x cos x 缩放图形 zoomon为当前图形打开缩放模式 单击鼠标左键 则在当前图形窗口中 以鼠标点中的点为中心的图形放大2倍 单击鼠标右键 则缩小2倍 zoomoff关闭缩放模式 例7 缩放y sinx的图形 解输入命令 x linspace 0 2 pi 30 y sin x plot x y zoomon 特殊二 三维图形 1 特殊二维图形 1 极坐标图 polar theta rho s 用角度theta 弧度表示 和极半径rho作极坐标图 用s指定线型 解输入命令 theta linspace 0 2 pi rho sin 2 theta cos 2 theta polar theta rho g title Polarplotofsin 2 theta cos 2 theta 2 散点图 scatter X Y S C scatter X Y S C 在向量X和Y的指定位置显示彩色圈 X和Y必须大小相同 例2 绘制seamount散点图 解输入命令 loadseamount 装载数据 scatter x y 5 z 3 平面等值线图 contour x y z n contour x y z n 绘制n个等值线的二维等值线图 解输入命令 X Y meshgrid 2 0 2 2 2 0 2 3 Z X exp X 2 Y 2 C h contour X Y Z clabel C h colormapcool 2 特殊的三维图形函数 1 空间等值线图 contour3 x y z n 其中n表示等值线数 例4 山峰的三维和二维等值线图 解输入命令 x y z peaks subplot 1 2 1 contour3 x y z 16 s grid xlabel x axis ylabel y axis zlabel z axis title contour3ofpeaks subplot 1 2 2 contour x y z 16 s grid xlabel x axis ylabel y axis title contourofpeaks 2 三维散点图scatter3 scatter3 X Y Z S C 在向量X Y和Z指定的位置上显示彩色圆圈 向量X Y和Z的大小必须相同 例5 绘制三维散点图 解输入命令 x y z sphere 16 X x 5x 75x Y y 5y 75y Z z 5z 75z S repmat 1 75 5 10 prod size x 1 C repmat 123 prod size x 1 scatter3 X Y Z S C filled view 60 60
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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