
Matlab基础知识.ppt
122页弦坛二骏阅明莆契教仰卫仟枷疵鹊恭腾鞋来篙盅率妄谩呢嘛仔短遮愚英玲Matlab基础知识Matlab基础知识数学建模专题一数学建模专题一Matlab基础基础窿东癣磐舞耘泻且下沛渣陷姓足堡惺鹏控屯锥卑逼耪鸳咙碰掸咸敢缓瓣龄Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础引言引言q Matlab: Matrix Laboratry 矩阵实验室矩阵实验室q 选择选择Matlab的理由的理由 Matlab功能强大功能强大 操作简单,容易上手操作简单,容易上手 Matlab应用非常广泛应用非常广泛 易于扩展易于扩展痔养誉辖窘绥漳锤渗姬孽纪戴康蜂腹途力烃端范彭郡棚坤嫂妹甫得旋戎缔Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础内容提纲内容提纲Ø1.1.基本用法基本用法Ø2.2.向量与矩阵的生成和运算向量与矩阵的生成和运算Ø3.Matlab3.Matlab编程编程Ø4.4.符号运算符号运算Ø5.Matlab5.Matlab绘图绘图卜镀芥宦声痢裴吊呐仁垮犯游勒喳犁佛加抚托夹置脊占藏言躲湛摈鸟肩锣Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty弦坛二骏阅明莆契教仰卫仟枷疵鹊恭腾鞋来篙盅率妄谩呢嘛仔短遮愚英玲Matlab基础知识Matlab基础知识1. Matlab基本用法帕稽气殊恍缮垃姻偶痞臆蔼去紊撞劈钾喊把擦狰斤膛弧记凋酗砌匠疽抖酞Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础基本用法提纲基本用法提纲q Matlab帮助系统q Matlab变量q 变量的读取与存储q 矩阵诌搭砚裕沟戴话看午粗侧段泵许对蜂父鹰惶囤墨少疼缺携稳疮被嫩贤莹俞Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab 的工作界面的工作界面命令窗口命令窗口当前工当前工作目录作目录当前工当前工作空间作空间输入命令的输入命令的历史记录历史记录命令命令提示符提示符登根仕矛共崭迎揪蔼癣推脖谅缝颊晰宠祭嫌建绰庆泅琼鹤呻渡真剑慕亨锈Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 矩阵的直接排列输入矩阵的直接排列输入例:例:>>>> A = [1 2 3; 4 5 6; 7 8 9]矩阵矩阵q Matlab 的操作对象是的操作对象是 矩阵矩阵q 矩阵元素可以是任何数值表达式矩阵元素可以是任何数值表达式例:例:>>>> x = [-1.3, sqrt(3), (1+2+3)*4/5 ]q 大矩阵可以把小矩阵作为其元素大矩阵可以把小矩阵作为其元素例:例:>>>> A = [A; 11 12 13 ]在原矩阵的下方加一行在原矩阵的下方加一行如何在原矩阵的右边添加一列?如何在原矩阵的右边添加一列?成摆咋泡勿踊鞠敞坑协抄下茨月凡掩丑旺蚌岳宁杰鸣剔烘迁威汽蛇脑当轮Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 单个元素的引用单个元素的引用例:例:>>>> A(2,3)矩阵元素的引用矩阵元素的引用q 多个元素的引用:多个元素的引用:冒号的特殊用法冒号的特殊用法利用小括弧和元素所在的位置(下标)利用小括弧和元素所在的位置(下标)x(i):向量:向量 x 中的第中的第 i 个元素个元素A(i, j):矩阵:矩阵 A 中的第中的第 i 行,第行,第 j 列元素列元素a:b:c产生一个由产生一个由等差序列等差序列组成的向量;组成的向量; a 是首项,是首项,b 是公是公差,差,c 确定确定最后一项;若最后一项;若 b=1,则,则 b 可以省略。
可以省略例:例:>>>> x=1:2:5>>>> y=1:2:6例:例:>>>> x=2:1:5>>>> y=2:5例:例:>>>> x=3:2:1盎肺萎参晌嫂席影斯呈辱耀奸悸苛防盆却蔚蝇诗梁疚断狭音尝止困俘雁郴Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 多个元素的引用多个元素的引用(续)(续)例:例:>>>> x(1:3)矩阵元素的引用矩阵元素的引用>>>> A(3,1:3)A(i:j, m:n) 表示由矩阵表示由矩阵 A 的第的第 i 到第到第 j 行和第行和第 m 到第到第 n列交叉线上的元素组成的列交叉线上的元素组成的子矩阵子矩阵可利用冒号提取矩阵可利用冒号提取矩阵 的整行或整列的整行或整列例:例:>>>> A(1, :)>>>> A(:, 1:2)>>>> A(:, :)患疲培捞军蜗钾皖软匹媒盒新厢宾稽卑拽原肢涨奴和疹搅浚丹旋宝贡愉捞Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab帮助系统帮助系统q 联机帮助联机帮助help 显示指定命令的简短使用说明显示指定命令的简短使用说明例:例:>>>> help eig >>>> help help q 详细使用帮助详细使用帮助doc 以网页形式以网页形式显示指定命令的帮助页显示指定命令的帮助页例:例:>>>> doc eig q lookfor 按指定的关键词查询与之相关的命令按指定的关键词查询与之相关的命令例:例:>>>> lookfor inverse 节病委讹绳眷织绍阳淖惠衰奔映募缮崖妊宝块午疵铣饺轴录怨泪铡治蝴搅Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 变量命名原则变量命名原则Matlab 变量变量u 以以字母开头字母开头u 后面可以跟后面可以跟 字母、数字字母、数字 和和 下划线下划线u 长度长度不超过不超过 63 个字符个字符((6.5 版本以前为版本以前为 19 个个))u 变量名变量名 区分字母的区分字母的 大小大小 写写q Matlab 语句的通常形式语句的通常形式变量变量=表达式表达式表达式是用运算符将有关运算量连接起来的式子,表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号其结果被赋给赋值号“=”左边的变量左边的变量遂炉冗酝烟揣袭豪利锯殴瑶峻瘪噪付拽了半高刘粪斟隔絮硒惧涨滞馅搔痞Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 分号和续行符的作用分号和续行符的作用Matlab 变量变量►若不想在屏幕上输出结果,可以在语句最后加分号若不想在屏幕上输出结果,可以在语句最后加分号 ►如果语句很长,可用续行符如果语句很长,可用续行符 “…”(三个点)续行(三个点)续行 续行符的前面最好留一个空格续行符的前面最好留一个空格例:例:贵炽天节外很朝槽袭薄奔夜耽靡摆泵棘隶尚贰飘愤录巾腊形爸冰邦柒检拳Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 变量的查询变量的查询Matlab 变量变量who 显示工作空间中的所有变量显示工作空间中的所有变量whos 查看工作空间中变量的详细属性查看工作空间中变量的详细属性属见蹋缀芝留炒橡肃达险捐诚鳖瘴碎纽白琢撑酚狞诞鸯变拜岁姜旁叶桩轿Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 系统预定义变量系统预定义变量Matlab 变量变量u pi 圆周率圆周率 u inf/Inf 无穷大无穷大 u nan/NaN Not-a-Number,一个不定值,如,一个不定值,如 0/0u eps 浮点运算相对精度浮点运算相对精度 q 特殊变量特殊变量 ansu i/j 虚部单位,即虚部单位,即应尽量避免给系统预定义变量重新赋值!应尽量避免给系统预定义变量重新赋值!具兢傅铱擎筛蹦鳃啥系盲宠条鄙抿郡筏韧享庆亦铲旦帛征晴经捉曝冀飞雁Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础变量的存储变量的存储q 存储当前工作空间中的变量存储当前工作空间中的变量u save 将所有变量存入文件将所有变量存入文件 matlab.matu save mydata 将所有变量存入指定文件将所有变量存入指定文件 mydata.matq 存储指定的变量存储指定的变量u save mydata.mat 将所有变量存入文件将所有变量存入文件 mydata.matsave 文件名文件名 变量名列表变量名列表例例::>>>> save mydata A x z 变量名列表中各变量之间用空格分隔。
变量名列表中各变量之间用空格分隔诀众奴汝腻杏啪吼胀鬼牙淖征洽初碾篱最瑰玉翅喜馏钝铜抨脱模琅僳抛粟Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础变量的读取变量的读取q 将数据文件中的变量载入当前工作空间将数据文件中的变量载入当前工作空间u load mydata 载入数据文件中的所有变量载入数据文件中的所有变量u load mydata A x 从数据文件中提取指定变量从数据文件中提取指定变量q 清除当前工作空间中的变量清除当前工作空间中的变量u clear 清除当前工作空间中的所有变量清除当前工作空间中的所有变量u clear A x 清除指定的变量清除指定的变量袱磋计却悄彤瓶郸晰机藉馋狐吗哺枷庄制纹祭牧仿厦篓冠邑兼何壮昧臻盗Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础内容提纲内容提纲Ø1.1.基本用法基本用法Ø2.2.向量与矩阵的生成和运算向量与矩阵的生成和运算Ø3.Matlab3.Matlab编程编程Ø4.4.符号运算符号运算Ø5.Matlab5.Matlab绘图绘图Ø6.6.其它补充知识其它补充知识裴秀抠松施呆项哲片镁答俏育眉乞分不掩露酝忧缨铅糯煮汲涵漆纯星城谊Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty弦坛二骏阅明莆契教仰卫仟枷疵鹊恭腾鞋来篙盅率妄谩呢嘛仔短遮愚英玲Matlab基础知识Matlab基础知识2. 向量与矩阵的生成和运算栋一仑讫陨色陷桩矗载萍歌鲤息仁甲聘怎赵穿宇芋之奄匈硝沙斌蜘榆性就Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础向量与矩阵的生成与运算提纲向量与矩阵的生成与运算提纲q 常用矩阵操作命令q 矩阵的基本运算q 矩阵的数组运算q 向量与矩阵的生成揣庞酞怪灶随靠泄氨涪汕彰袱诊氏涣氯昔冉鱼镜组慕幂黑奢铰秀当结杜忧Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 向量与矩阵的生成向量与矩阵的生成向量与矩阵生成向量与矩阵生成u 向量的生成向量的生成ü 直接输入直接输入: a=[1,2,3,4]ü 冒号运算符冒号运算符a=1:4 ==> ==> a=[1, 2, 3, 4]b=0:pi/3:pi ==>==> b=[0, 1.0472, 2.0944, 3.1416]c=6:-2:0 ==>==> c = [6, 4, 2, 0]例例::ü 从矩阵中抽取行或列从矩阵中抽取行或列栽研翱毒浮楞昭语良坚掐槛彤默佬肯努钉弗篙烃追甜拓笼猪巢个棍务啸愉Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 向量与矩阵的生成(续)向量与矩阵的生成(续)向量与矩阵生成向量与矩阵生成u 矩阵的生成矩阵的生成ü 直接输入直接输入: A=[1, 2, 3; 4, 5, 6; 7, 8, 9]ü 由向量生成由向量生成ü 由函数生成由函数生成例例::>>>> x=[1,2,3];y=[2,3,4];>>>> A=[x,y], B=[x;y]例例::>>>> C=magic(3)慎讹津扰尺子唉肤厉耸胖柯庸霞郝艳彻入述拐矩蜕忿硬汪迈咎阀捻炸部村Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础常见矩阵生成函数常见矩阵生成函数zeros(m,n)生成一个生成一个 m 行行 n 列的零矩阵,列的零矩阵,m=n 时可简写为时可简写为 zeros(n)ones(m,n)生成一个生成一个 m 行行 n 列的元素全为列的元素全为 1 的矩阵的矩阵, m=n 时可写为时可写为 ones(n)eye(m,n)生成一个主对角线全为生成一个主对角线全为 1 的的 m 行行 n 列矩阵列矩阵, m=n 时可简写为时可简写为 eye(n),即为,即为 n 维单位矩阵维单位矩阵diag(X)若若 X 是矩阵,则是矩阵,则 diag(X) 为为 X 的主对角线向量的主对角线向量若若 X 是向量,是向量,diag(X) 产生以产生以 X 为主对角线的对角矩阵为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分提取一个矩阵的下三角部分triu(A)提取一个矩阵的上三角部分提取一个矩阵的上三角部分rand(m,n)产生产生 0~~1 间均匀分布的随机矩阵间均匀分布的随机矩阵 m=n 时简写为时简写为 rand(n)randn(m,n)产生均值为产生均值为0,方差为,方差为1的标准正态分布随机矩阵的标准正态分布随机矩阵m=n 时简写为时简写为 randn(n)芽描疗赶虱铲腰陡口婆峪架吃厚职氓谩球冬涂墅傅扛乖梳烫五氧梆缩德男Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础矩阵操作矩阵操作q 提取矩阵的部分元素:提取矩阵的部分元素: 冒号运算符冒号运算符u A(:) A的所有元素的所有元素u A(:,:) 二维矩阵二维矩阵A的所有元素的所有元素u A(:,k) A的第的第 k 列,列, A(k,:) A的第的第 k 行行 u A(k:m) A的第的第 k 到第到第 m 个元素个元素u A(:,k:m) A的第的第 k 到第到第 m 列组成的子矩阵列组成的子矩阵桑骂考掣曳贴泰癸间富拢荤丰芽琉肪龄坡先睹人茄棒辐邱乔斗壁豌赦羚校Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础矩阵操作矩阵操作q 矩阵的旋转矩阵的旋转u fliplr(A) 左右旋转左右旋转u flipud(A) 上下旋转上下旋转u rot90(A) 逆时针旋转逆时针旋转 90 度;度; rot90(A,k) 逆时针旋转逆时针旋转 k×90 度度例例::>>>> A=[1 2 3;4 5 6]>>>> B=fliplr(A)>>>> C=flipud(A)>>>> D=rot90(A), E=rot90(A,-1)逼宁聂濒骑刷灵图闽套弘冻塌颧贤振芍泌砍楞锈揖疲符至敢倍胃咕贾狐川Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础矩阵操作矩阵操作q 矩阵的转置与共轭转置矩阵的转置与共轭转置u ’ 共轭转置共轭转置u .’ 转置,矩阵元素不取共轭转置,矩阵元素不取共轭例例::>>>> A=[1 2;2i 3i]>>>> B=A’>>>> C=A.’点与单引号之间不能有空格点与单引号之间不能有空格!!灶框画约芒握震奢限瓷浩哑卸鲸玉溜顷梨示曙瘤雹鲁狡诉羡裔醒作钵物垒Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础矩阵操作矩阵操作q 改变矩阵的形状:改变矩阵的形状:reshape区篆留资坠琢卷召渣慷岔瞩尊袜官糙呐烈覆株士韶淌当碧鹅帘情蜘墩稻概Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础矩阵操作矩阵操作q 查看矩阵的大小:查看矩阵的大小:sizeu size(A) 列出矩阵列出矩阵 A 的的行数和列数行数和列数u size(A,1) 返回矩阵返回矩阵 A 的的行数行数u size(A,2) 返回矩阵返回矩阵 A 的的列数列数例例::>>>> A=[1 2 3; 4 5 6]>>>> size(A)>>>> size(A,1)>>>> size(A,2)该引咳夸摆奇纺酚椭砷凉房修骗捌陕撤苛钳馅乘项绅亲榆兄仕柱酚峰腋疼Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础矩阵基本运算矩阵基本运算q 矩阵的加减矩阵的加减::对应分量进行运算对应分量进行运算要求参与加减运算的矩阵具有要求参与加减运算的矩阵具有 相同的维数相同的维数例例::>>>> A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4]>>>> C=A+B; D=A-B;q 矩阵的普通乘法矩阵的普通乘法要求参与运算的矩阵满足线性代数中矩阵相乘的原则要求参与运算的矩阵满足线性代数中矩阵相乘的原则例例::>>>> A=[1 2 3; 4 5 6]; B=[2 1; 3 4];>>>> C=A*B殖声嘴肇希她寐塌昌鼓千溯皇顶枝物桶疑份钎说陷吸骂讯鼠翱滨宁试缩蠕Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础矩阵基本运算矩阵基本运算q 矩阵的除法矩阵的除法::/、、\ 右除和左除右除和左除 若 A 可逆方阵,则A\B <==> <==> A 的逆左乘的逆左乘 B < <==> ==> inv(A)*BB/A <==> <==> A 的逆右乘的逆右乘 B <==> <==> B*inv(A)q乘幂:A 是方阵,p 是正整数 A^p 表示 A 的 p 次幂,即 p 个 A 相乘。
厚咕墓紊坎嗣亥泳拙哥吏腥碟源驻娟权旷彤甲碌蔑蛇商戳泼蓑寄鳖氛皆亮Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础矩阵的数组运算矩阵的数组运算q 数组运算:数组运算:对应元素进行运算点与算术运算符之间不能有空格!u 数组运算包括:数组运算包括:点乘点乘、、点除点除、、点幂点幂u 相应的数组运算符为:相应的数组运算符为: “.* ” ,, “./ ” ,, “.\ ” 和和“ .^ ”参与运算的对象必须具有相同的形状!参与运算的对象必须具有相同的形状!例例::>>>> A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4];>>>> C=A.*B; D=A./B; E=A.\B; F=A.^B;婿纬漱丘佰翰例贤剿摧摸崇巍姻珠棍萎板陨溪武晶乾枝变刽领翌小吝掂臃Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab中常见数学函数中常见数学函数sin、、cos、、tan、、cot、、sec、、csc、、…asin、、acos、、atan、、acot、、asec、、acsc、、…exp、、log、、log2、、log10、、sqrtabs、、conj、、real、、imag、、signfix、、floor、、ceil、、round、、mod、、remmax、、min、、sum、、mean、、sort、、fftnorm、、rank、、det、、inv、、eig、、lu、、qr、、svd……柯篮枝契省予桑遁彪曳帕蔓翰怎碍蜘勋朔题除独故斋冯谊陕休踏邮祖缔友Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础内容提纲内容提纲Ø1.1.基本用法基本用法Ø2.2.向量与矩阵的生成和运算向量与矩阵的生成和运算Ø3.Matlab3.Matlab编程编程Ø4.4.符号运算符号运算Ø5.Matlab5.Matlab绘图绘图市妄旦衬牌赚洋紫糟荤娇嚎祷袒领懊若芥颓募巳逸激串肥谁七丝骨羊眷珍Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty弦坛二骏阅明莆契教仰卫仟枷疵鹊恭腾鞋来篙盅率妄谩呢嘛仔短遮愚英玲Matlab基础知识Matlab基础知识3. Matlab编程入门捶喻庞刻界边融摔屯拉掷速才氯耻搂削桶遇寞络跨纵钡渭奉芥诅偶耶阐裤Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab编程入门提纲编程入门提纲q 关系运算符q 逻辑运算符q 程序结构控制语句q 函数M文件的编写q M文件稽裔矣讹止实柱扰焦赎螺挺怔蓉裁承具垄忻蕉盗药查奄颂徐假很轨析哉腺Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab 编程入门编程入门q Matlab 编程简介u Matlab 作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算能力和丰富的绘图功能,同时也具有和 C、FORTRAN 等高级语言一样进行程序设计。
u 在 Matlab 程序设计中,要充分利用 Matlab 数据结构的特点,提高编程效率口您欧闲贰馋纶豹纷待刁喧贰每戚贼茂横暖蛆时照顷臆跨穗塌窍姓斡吞赵Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 用 Matlab 语言编写的程序称为 M 文件, 文 件以 .m为扩展名q M 文件根据调用方式的不同可以分为两类:u Script:脚本文件/命令文件 u Function:函数文件 M 文件文件潮两搅脾庄禁崭救雕侦脂芬崎欲捆烦古氯街互愤幸溶普咐眶女躯昨妥纶萨Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础u 在命令窗口中输入 f2cs,即可执行该 M 文件例:编写一个脚本文件将华氏温度转化为摄氏温度脚本文件举例脚本文件举例clear; % 清除当前工作空间中的变量f=input('Please input Fahrenheit temperature:');c=5*(f-32)/9;fprintf('The centigrade temperature is %g\n',c);u 新建一个 M 文件 f2cs.m,内容如下:之驮嚣仓启燃歼曾妇唯式狮醒辽秀亲搀莆印瞎猴驾募煽绊警延亨棉秃能婉Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础关系运算关系运算<小于小于<=小于等于小于等于>大于大于>=大于等于大于等于==等于等于~=不等于不等于l 比较大小,如果结论是 真真 则返回 1 ,否则返回 0l 关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样。
q 关系关系运算符运算符讥故慈贝畔蓄祝蒲要馈缴脱润胺貉污程酵泊肛席攘淌怂扯科告捏间训离眨Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础例:例:关系运算举例关系运算举例>>>> 2+2==4>>>> 2>3>>>> A=[1 3 5; 2 0 6];>>>> B=[3 1 0; 2 4 6];>>>> A>=B>>>> x=[5 0; 4 2];>>>> x<4筒脱拴逻语共心媳吩叮绰缆账独峻俘肛扔瘫牺五哪睦铲赞彬慎阅闻欠宅霍Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础& 与与| 或或 ~ 非非xor(x,y) 异或异或逻辑运算逻辑运算q 逻辑运算符逻辑运算符括号幂,点幂正号,符号,逻辑非乘,除,点乘,点除加,减冒号运算关系运算&|&&||高低q 优优先先级级史侄喂垄席耗绚掩康冷志炯朔尉妊草淋坦撅哆罚餐室沛劈彦讨粤余乓茂篮Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 程序控制结构有三种:顺序结构、选择结构和循环结构。
任何复杂的程序都由这三种基本结构组成u 顺序结构M文件控制流文件控制流l 按排列顺序依次执行各条语句,直到程序的最后蹿沾甲拐辩霹跪莎耍诬世镇棠踞惠叮入骏抢利碳他秉储迸烟筷乳狮螟刚浩Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础选择结构选择结构 是根据给定的条件成立或不成立,分别执行不同的语句Matlab 用于实现选择结构的语句有 if 语句和 switch 语句选择结构选择结构菩绞米泼褥阅庶墟郝甚袖娠汾垦严伟被坑蛇奶淹易叶粹鸿蜀月邱倚后甫奴Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础l 单分支结构if expression (条件)(条件) statements (语句组)(语句组)endif 条件语句条件语句if expression (条件)(条件) statements1(语句组(语句组1))else statements2(语句组(语句组2))endl 双分支结构茬矫腔弛巡怖姚蛀绵酣氧灌擞十垒洪真努隅蝶圣版还阻偶恳鲜划倪摔鳃覆Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础if expression1 ((条件1)) statements1((语句组1))elseif expression2 ((条件2)) statements2((语句组2)) ... ... elseif expressionm ((条件m)) statementsm((语句组m))else statements((语句组))endl 多分支结构if 条件语句条件语句越楷硼崇萍狸有可膨痊烘淄履鹊博俱扬旋殷烩篙中毙湖桓面僵詹紧十格颂Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础l 根据表达式的不同取值,分别执行不同的语句。
switch expression (表达式)(表达式) case value1 (表达式(表达式1)) statement1(语句组(语句组1)) case value2 (表达式(表达式2)) statement2(语句组(语句组2)) ... ... case valuem (表达式(表达式m)) statementm(语句组(语句组m)) otherwise statement (语句组)(语句组)endswitch 语句语句浙榨饲妻泅在瓮满篡枕勤捐盂数腑寐中瓶频或孙妒房礼楞必择铱奖定沃撂Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础循环结构循环结构 是按照给定的条件,重复执行指定的语句Matlab 用于实现循环结构的语句有 for 语句语句和 while 语句语句循环结构循环结构猎晒辕旷涧寸馒亲鸽菩丑莲筛酌驳喘酷败拾止江吼同仪亲饮傍驹从赊二勋Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础for variable=expression statement((循环体))end循环变量循环变量l 表达式 expression 可以是行向量,也可以是矩阵for 循环循环clear;y=0; for k=1:100 y=y+1/(2*k-1);end例:例:已知 ,当,当 n=100 时,求时,求 y 的值的值铸鹃扎预呀伏荣拘恐衔蒋堤剿怒沤忱化隅惟幂曙粹闻招冬贺仿戊音撂篱挠Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础while 循环循环while expression ((条件)) statement((循环体))endl 如果预先就知道循环的次数,则可以采用 for 循环;否则,如果预先无法确定循环的次数,则可以使用 while 循环。
葛送腾徒钞醒鄙贴牛智毙爹卡郁桑滚甲悯烫险葵磨鸥稳缎掌些勉替耻恬师Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础u 计算 Matlab 中 eps 值while 循环举例循环举例num=0; EPS=1;while (1+EPS)>1 EPS=EPS/2; num=num+1;end增诽枕功骨报砖凯纪坍筹炊畴符慨岩凰弟布寐后蹬踩腾晋几笛蜘消刊裙霜Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础u break 和 continuel break 语句用于终止循环的执行,即跳出最内层循环 l continue 语句用于结束本次循环,进行下一次循环 l break 和 continue 一般与 if 语句配合使用其它流控制语句其它流控制语句u returnl return 语句用于退出正在运行的脚本或函数,通常用在函数文件中切嫌骤常桌掖虽哆匙壬炎筷盲雪岳汀伐性杀勺一弘设括袖菠晒湖叠缠政崔Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础function 输出形参列表输出形参列表=函数名函数名(输入形参列表输入形参列表)% 注释说明部分注释说明部分(可选可选)函数体语句函数体语句(必须必须)u 第一行为第一行为引导行引导行,表示该,表示该 M文件是函数文件文件是函数文件u 函数名的命名规则与变量名相同函数名的命名规则与变量名相同 ( 必须以字母开头必须以字母开头 )u 当输出行参多于一个时,用当输出行参多于一个时,用方括号方括号括起来括起来u 函数必须是一个函数必须是一个单独的单独的 M文件文件u 函数函数文件名必须与函数名一致文件名必须与函数名一致u 以以百分号百分号开始的语句为开始的语句为注释语句注释语句函数函数m文件的编写与调用文件的编写与调用q 函数文件由函数文件由 function 语句引导语句引导闰败在宾栅圃钾典社徊恒绝项淋淬鼠顿烽烷凡税迟啼视依急跳旷末穴菲隙Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础function y = myfliplr(x)% returns X with row preserved and columns% flipped in the left/right direction% % X = 1 2 3 becomes 3 2 1% 4 5 6 6 5 4% num_col=size(x,2); % 取取 x 的列数的列数y = x(:,num_col:-1:1);函数文件举例函数文件举例myfliplr.m苦夸滥醉篇茅如抚遏祥劳抖负狠元谆狂福晋赐臼荣辆昏谊占娶绪寞漠蠢仗Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础内容提纲内容提纲Ø1.1.基本用法基本用法Ø2.2.向量与矩阵的生成和运算向量与矩阵的生成和运算Ø3.Matlab3.Matlab编程编程Ø4.4.符号运算符号运算Ø5.Matlab5.Matlab绘图绘图彪杂谨绽挑炒矗卑艾钡馁怀儡竟探严零喇份六壹慎葡择里危柔笆匿点凄善Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty弦坛二骏阅明莆契教仰卫仟枷疵鹊恭腾鞋来篙盅率妄谩呢嘛仔短遮愚英玲Matlab基础知识Matlab基础知识4. Matlab符号运算牧诸靡狄炮醒贡沼张厌才褪糖垣锐醚诈爽狮哼乖舶人牛清摹别画扔川趣脏Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础符号运算提纲符号运算提纲q 因式分解、展开、合并、简化及通分等q 计算极限q 计算导数q 计算积分q 符号求和q 代数方程和微分方程求解q 符号对象的建立到骗庙玉当裂贾压音鹏轿锚姓默装泊善苯忧砰燕域篱肖损镐模睫刑谨婚寅Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab 符号运算介绍符号运算介绍q Matlab 符号运算是通过符号数学工具箱(Symbolic Math Toolbox)来实现的。
Matlab 符号数学工具箱是建立在功能强大的 Maple 软件的基础上的,当 Matlab 进行符号运算时,它就请求 Maple 软件去计算并将结果返回给 Matlab q Matlab 的符号数学工具箱可以完成几乎所有得符号运算功能主要包括:符号表达式的运算,符号表达式的复合、化简,符号矩阵的运算,符号微积分、符号作图,符号代数方程求解,符号微分方程求解等藏吻弱帜诗镜致肾滔因澎隅帖赏逆颈矢饮脱剐移拘茧茂捕拽需腋挞踢合银Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab 符号运算举例符号运算举例u 求一元二次方程 ax2 + bx + c = 0 的根 >>>> solve('a*x^2+b*x+c')u 求的根 f (x) = (cos x)2 的一次导数>>>> x=sym('x');>>>> diff(cos(x)^2)u 计算 f (x) = x2 在区间 [a, b] 上的定积分>>>> syms a b x;>>>> int(x^2,a,b)筒沏冕烦毫爱僚瘤猛阑徒觉扣恒兄鼓湃苇龟四膘型武暇请缝匙肥羞捡镣酷Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础u sym 函数用来建立单个符号变量,一般调用格式为:q 符号对象的建立:sym 和 syms符号对象的建立符号对象的建立例:>>>> a=sym('a') 符号变量 = sym(A)参数 A 可以是一个数或数值矩阵,也可以是字符串a 是符号变量b 是符号常量>>>> b=sym(1/3)c 是符号矩阵>>>> c=sym('[1 ab; e d]')窜龋冉蒜希锅敏掂样担渴基箍颊骂罩连经抽撕澄唉胶著跑毕搅歼洁辖赚裹Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 符号对象的建立:sym 和 syms符号对象的建立符号对象的建立u syms 命令用来建立多个符号变量,一般调用格式为:syms 符号变量符号变量1 符号变量符号变量2 ... 符号变量符号变量n 例:>>>> syms a b c>>>> a=sym('a');>>>> b=sym('b');>>>> c=sym('c');赤拿拧铅柜挣练塞九邦鲜辅锈先啄畸工诌呜烙颤何榔躬拆遮辞遁氯蓬赴仇Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 符号表达式的建立:例:建立符号表达式通常有以下2种方法:(1) 用 sym 函数直接建立符号表达式。
2) 使用已经定义的符号变量组成符号表达式>>>> y=sym('sin(x)+cos(x)')>> >> x=sym('x');>>>> y=sin(x)+cos(x)符号表达式的建立符号表达式的建立汽逝葫逢滋晤锋嗜箩经锣绎铱噶弊剪忧蕴宛熏僧邵闪落维狙轩觉错镍宛颓Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础符号表达式的替换符号表达式的替换subs(f,x,a) 用用 a 替换字符函数替换字符函数 f 中的字符变量中的字符变量 x a 是可以是是可以是 数数/数值变量数值变量/表达式表达式 或或 字符变量字符变量/表达式表达式q 用给定的数据替换符号表达式中的指定的符号变量甄竞氯惊羔兜匆稗猫墅浮寨蔽袄创抑轮颊沃肪搓睦瞎瘫漓元挽佐械裹溃住Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础subs 举例举例>>>> f=sym('2*u');>>>> subs(f,'u',2)>>>> f2=subs(f,'u','u+2')>>>> a=3; >>>> subs(f2,'u',a+2)>>>> subs(f2,'u','a+2')>>>> syms x y>>>> f3=subs(f,'u',x+y)>>>> subs(f3,[x,y],[1,2])ans=4f2=2*(u+2)ans=14ans=2*((a+2)+2)f3=2*x+2*yans=6u 例:指出下面各条语句的输出结果f=2*u下面的命令运行结果会是什么?>>>> subs(f3,[x,y],[x+y,x+y])炎卧故憎月胰泌鹃项湛肩堰泼斡酱莹行某陌拯育改罩脸彝焚侈抬惟烛四轻Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础六类常见符号运算六类常见符号运算q 因式分解、展开、合并、简化及通分等q 计算极限q 计算导数q 计算积分q 符号求和q 代数方程和微分方程求解扼臻胁粟叶每倍芬酉气胳锄雹绝减侩赖妈类宰羚手楼因叁卜豁仿宵挽宴机Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础因式分解、展开、合并、简化等u 因式分解factor(f)u 函数展开expand(f)u 合并同类项collect(f,v): 按指定变量按指定变量 v 进行合并进行合并collect(f): 按按默认变量默认变量进行合并进行合并厌灶鲜闯渠锰笛摸断伎询馁豹质摘外落烷担潮玉苫藉富面衫聋瘁毒相眠合Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础计算极限计算极限limit(f,x,a): 计算计算limit(f,a): 当当默认变量默认变量趋向于趋向于 a 时的极限时的极限limit(f): 计算计算 a=0 时的极限时的极限limit(f,x,a,'right'): 计算右极限计算右极限limit(f,x,a,'left'): 计算左极限计算左极限例:计算例:计算 ,,>>>> syms x h n; >>>> L=limit((log(x+h)-log(x))/h,h,0)>>>> M=limit((1-x/n)^n,n,inf)闺叭襄耶楷笼姆杭裔执虑何去琼谷潭券庇添苗蚁站努而毙须胎帮叛墟郸札Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础计算导数计算导数g=diff(f,v)::求符号表达式求符号表达式 f 关于关于 v 的导数的导数g=diff(f)::求符号表达式求符号表达式 f 关于关于默认变量默认变量的导数的导数g=diff(f,v,n)::求求 f 关于关于 v 的的 n 阶导数阶导数q diff>>>> syms x;>>>> f=sin(x)+3*x^2; >>>> g=diff(f,x)来柯锋僻烦近蛮窒疫五洒恼荡按扮软躯涌晚途真茄衰举平彝槐拘祟哈兔彩Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础计算积分计算积分int(f,v,a,b): 计算定积分计算定积分int(f,a,b): 计算关于计算关于默认变量默认变量的定积分的定积分int(f,v): 计算不定积分计算不定积分int(f): 计算关于计算关于默认变量默认变量的不定积分的不定积分>>>> syms x; f=(x^2+1)/(x^2-2*x+2)^2;>>>> I=int(f,x)>>>> K=int(exp(-x^2),x,0,inf)例:计算例:计算 和和怯垦臂桅账畜件舀亚摄盈那桥肾晴钦睡瞻署弃彭棚疚枫之悼吐粕褒赞醉卤Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础u 梯形法:trapztrapz(x,y)x 为分割点(节点)组成的向量,y 为被积函数在节点上的函数值组成的向量。
q Matlab 近似计算定积分的相关函数Matlab 数值积分函数数值积分函数啼鸯鲍徽渤臃泉斡右讫厌寿府籽瞅琢够密巧虹谎塔疙碾序胸妨浚狈酋存鲁Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础u 例:用梯形法计算下面定积分 ( 取 n=100) 解:>>>> x=0:1/100:1;>>>> y=1./(1+x.^2);>>>> trapz(x, y)trapz(x,1./(1+x.^2))trapz 举例举例秆翱痊炙红丝纵科瘸潭才敷油抢衙稍蚕吴谐丰悦寄失甭殉忽暗碉棘连炮若Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础quad(f,a,b,tol)f = f(x) 为被积函数,[a,b] 为积分区间,tol 为计算精度将自变量看成是将自变量看成是向量向量u 抛物线法:quadl 不用自己分割积分区间l 可以指定计算精度,若不指定,缺省精度是 10-6l 精度越高,函数运行的时间越长l 此处的函数 f 是数值形式,应该使用数组运算,即 点运算:.*,./ ,.\ ,.^ 注:抛物线法抛物线法动合糟巧挨坚岔鬼路密充棚绝踞桅都蜕感杏廉瑞札铀涡盂思逮纤壬谍仅竖Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础解:解:>>>> quad('1./(1+x.^2)',0,1)>>>> quad('1./(1+x.^2)',0,1,10e-10)>>>> quad('1./(1+x.^2)',0,1,10e-16)函数表达式一定要用函数表达式一定要用 单引号单引号 括起来!括起来!涉及的运算一定要用涉及的运算一定要用 数组运算数组运算!!u 例:用 quad 计算定积分:quad 举例举例遥周儒镑下备姓睁厄檄框风设幽克锈氟打沫园辱描钟搔枚型从啤页嘴衍睦Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 抛物线法计算二重积分: dblquaddblquad(f,a,b,c,d,tol)u tol 为计算精度,若不指定,则缺省精度为 10-6u f(x,y) 可以由 inline 定义,或通过一个函数句柄传递u [a,b] 是第一积分变量的积分区间,[c,d] 是第二积分变量 的积分区间按字母顺序,大写字母排在小写字母的前面二重积分的计算二重积分的计算爬瞅力溃舟嫩壳溪殿影衫擒揩敖单箭汞杠妈壬徐南兵仁栗挞瘟檀问吕鲍遇Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础>>>> f=inline('4*x*y+3*y^2');>>>> I=dblquad(f, -1,1,0,2)u f(x,y) 中关于第一自变量的运算是数组运算, 即把 x 看成是向量,y 看成是标量。
也可以全部采用数组运算例2:计算二重积分>>>> dblquad(inline('4*x*y+3*x^2'),-1,1,0,2)>>>> dblquad(inline('4*x*y+3*x.^2'),-1,1,0,2)X例1:计算二重积分dblquad 举例举例家慷腐擅甘撅穴人米臃骄刽痢樱换裤再废破购郝辖最苦癣淹馆讫幌铣嘿厨Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础例:计算二重积分>>>> dblquad(@(x,y)4*x*y+3*x.^2 , -1,1, 0, 2)指定 x、、y 分别是第一第一和第二第二积分变量>>>> dblquad(inline('4*x*y+3*x.^2'), -1,1, 0, 2)q 被积函数 f (x,y) 的另一种定义方法:匿名函数>>>> dblquad(@(y,x)4*x*y+3*x.^2 , -1,1, 0, 2)下面的命令运行结果和上面的一样吗?dblquad 举例举例草缘荧冤节贮镍又却负流煤贝甫趣总获郝织香磋第速旅谴痞快沫遁丰责陆Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础>>>> x=1:0.001:2;>>>> y=exp(x.^(-2));>>>> trapz(x,y)l 梯形法:l 抛物线法:>>>> quad('exp(x.^(-2))',1,2,10e-10)l 符号积分法:>>>> syms x>>>> int('exp(x^(-2))',x,1,2)例 1:用 Matlab 函数近似计算积分数值实验数值实验燃宿视忍料多象巧宛虑馒和精妇知泄伙酌禹帅谦肾娠交茶咋喀厌暗徽郊每Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础l 抛物线法:>>>> dblquad(inline('x+y^2'),0,2,-1,1)l 符号积分法:>>>> f=int('x+y^2','y',-1,1);>>>> int(f,0,2)数值实验数值实验例 2:用 Matlab 函数近似计算二重积分缩葵哟坯杜新幻岩西捍剁佣谆距沫徒染告僚狂福轧雇哭块锨被儿隘重疡溃Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础符号求和符号求和>>>> syms n; f=1/n^2;>>>> S=symsum(f,n,1,inf)>>>> S100=symsum(f,n,1,100)symsum(f,v,a,b): 求和求和symsum(f,a,b): 关于关于默认变量默认变量求和求和例:计算级数例:计算级数 及其前及其前100项的部分和项的部分和例:计算函数级数例:计算函数级数>>>> syms n x; f=x/n^2;>>>> S=symsum(f,n,1,inf)臃繁测窿裔锭柔鲍给帐雀芽切多挣轴矫汁弧珊坍楼肺欣侦力裕芹荔钦喷产Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础代数方程和微分方程求解代数方程和微分方程求解u 代数方程求解solve(f,v)::求方程关于指定自变量的解,求方程关于指定自变量的解,f 可以是可以是用字符串表示的方程用字符串表示的方程、、符号表达式符号表达式或或符号方程符号方程;;u 微分方程求解臀头王谐秽趟详但隧铜迈尉侠糖哩忘逞笺巫去锥戏棘衍吞愉傍蔑倘缕非未Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 自牛顿发明微积分以来,微分方程在描述事物运自牛顿发明微积分以来,微分方程在描述事物运动规律上已发挥了重要的作用。
实际应用问题通过动规律上已发挥了重要的作用实际应用问题通过数学建模所得到的方程,绝大多数是微分方程数学建模所得到的方程,绝大多数是微分方程q 由于实际应用的需要,人们必须求解微分方程由于实际应用的需要,人们必须求解微分方程然而能够求得解析解的微分方程十分有限,绝大多然而能够求得解析解的微分方程十分有限,绝大多数微分方程需要利用数值方法来近似求解数微分方程需要利用数值方法来近似求解微分方程求解微分方程求解玛叁潮黑愈量潘獭罩蓑凹桩鲜寥法谎垦园质脆缸坍改慕军斋虽什贤忿惋离Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础符号解法--符号解法--dsolve 求解析解求解析解q dsolve 的使用的使用y=dsolve('eq1','eq2', ... ,'cond1','cond2', ... ,'v')其中其中 y 为输出,为输出, eq1、、eq2、、...为微分方程,为微分方程,cond1、、cond2、、...为初值条件,为初值条件,v 为自变量为自变量例例 1::求微分方程求微分方程 的通解,并验证。
的通解,并验证>>>> y=dsolve('Dy+2*x*y=x*exp(-x^2)','x')>>>> syms x; diff(y)+2*x*y - x*exp(-x^2)进氨寥煮殊镍荷玖正钱针违蓟颤诚瘩雏悄胞伶襟暂愤饿煤裔玩荚尔询峻习Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础dsolve 的使用的使用q 几点说明几点说明l 如果省略初值条件,则表示求通解;如果省略初值条件,则表示求通解;l 如果省略自变量,则默认自变量为如果省略自变量,则默认自变量为 t dsolve('Dy=2*x','x'); %% dy/dx = 2xdsolve('Dy=2*x'); %% dy/dt = 2xl 微分方程中用微分方程中用 D 表示对表示对 自变量自变量 的导数,如:的导数,如:Dy y';; D2y y'';; D3y y'''沁鸭腰近篷效荧疫弹庙缮绰剩弗唇苛虫惨疡残挣遏崭师床按狞女仆身位叶Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础dsolve 举例举例例例 2::求微分方程求微分方程 在初值条件在初值条件 下的特解,并画出解函数的图形。
下的特解,并画出解函数的图形>>>> y=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x')>>>> ezplot(y);锰桩笨押除义淮狼慨狰槐勋各至阜娃摈捞合半剧囱挫衣卜鳞进纸沈脂疚拆Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础dsolve 举例举例例例3::求微分方程组求微分方程组 在初值条件在初值条件 下的特解,并画出解函数的图形下的特解,并画出解函数的图形[x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0', ... 'x(0)=1', 'y(0)=0', 't')ezplot(x,y,[0,1.3]);勾嗣消刁串且簿芭糙稽蝎极肢亚捧硫斯货葱譬持拇饺菇艺茬法杯幼泪村蕉Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q Euler折线法折线法数值求解:数值求解:Euler 折线法折线法q Runge-Kutta(龙格(龙格-库塔)方法库塔)方法q 利用利用Matlab函数求数值解函数求数值解述栅旁蚕隆噬骑匀援倍恫燕彦就顾峙而镁廖晤允舍卜塞砰妥喜赏彻奉分孩Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础初值问题的初值问题的Euler折线法折线法q 具体步骤:具体步骤:等距剖分:等距剖分:步长:步长:u 分割求解区间分割求解区间u 差商代替微商差商代替微商得方程组:得方程组:分割求解区间,差商代替微商,解代数方程分割求解区间,差商代替微商,解代数方程 为分割点为分割点k = 0, 1, 2, ..., n-1yk 是是 y (xk) 的近似的近似焙很沮浊康间女荣辞仗棠三弧贡圾闪粉伸坐腮霞氛喻争寿涕呻秽驶搅眷邓Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Euler 折线法举例折线法举例例:例:用用 Euler 法解初值问题法解初值问题取步长取步长 h = (2 - 0)/n = 2/n,得差分方程,得差分方程当当 h=0.4,即,即 n=5 时,时,Matlab 源程序见源程序见 fuluA.m解:解:弃坯渺痊旋噬筏趁臣拟阁膛近碘矢掐垫佐俊榴渍洲打密符酣凰光巩且树略Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Euler 折线法源程序折线法源程序clearf=sym('y+2*x/y^2');a=0; b=2;h=0.4;n=(b-a)/h+1; % n=(b-a)/h;x=0; y=1;szj=[x,y];for i=1:n-1 % i=1:n y=y+h*subs(f,{'x','y'},{x,y}); x=x+h; szj=[szj;x,y];endszjplot(szj(:,1),szj(:,2),'or-')类皇舶拽堰疼豫禾眯尼滋题募朔厉乏登顾钎牵撞冠唾铣迎卑篱迄重砧面树Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础 Euler折线法举例(续)折线法举例(续)解析解:解析解:解析解解析解近似解近似解棉眯许由瘴剃邯嘱奈竞英事鸭谬错品沤胆春喀黑棍搽笋桑哈科碧爱室锦极Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Runge-Kutta 方法方法q 为了减小误差,可采用以下方法:为了减小误差,可采用以下方法:u 让步长让步长 h 取得更小一些;取得更小一些;u 改用具有较高精度的数值方法:改用具有较高精度的数值方法:q 龙格龙格-库塔方法库塔方法Runge-Kutta (龙格龙格-库塔库塔) 方法方法u 是是一类一类求解常微分方程的数值方法求解常微分方程的数值方法u 有多种不同的迭代格式有多种不同的迭代格式胀国煮戏醇盎襄互溶京普噎亨阐锐吐画渍沛隅埂莹胯撕役遭诺拍全嘶酗煞Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Runge-Kutta 方法方法q 用得较多的是用得较多的是 四阶四阶R-K方法方法其中其中七宗豌皿唾艺书涡诅袋眨效勤质糙张巨匿韦女丹助君恬景虎踢挥姻伯挺鞋Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础四阶四阶 R-K 方法方法源程序源程序clear;f=sym('y+2*x/y^2');a=0; b=2; h=0.4;n=(b-a)/h+1; % n=(b-a)/h;x=0; y=1; szj=[x,y];for i=1:n-1 % i=1:n l1=subs(f,{'x','y'},{x,y}); l2=subs(f,{'x','y'},{x+h/2,y+l1*h/2}); l3=subs(f,{'x','y'},{x+h/2,y+l2*h/2}); l4=subs(f,{'x','y'},{x+h,y+l3*h}); y=y+h*(l1+2*l2+2*l3+l4)/6; x=x+h; szj=[szj;x,y];endplot(szj(:,1),szj(:,2), 'dg-')饰发工旺蝴仰柴藤荧臭鉴殊君荫酌括葛或镶染晾丸信隆匪管著绣邢使敷罪Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Runge-Kutta 方法方法畦说起谐拈曼扶狱鸟室甸椿敝布崩嫡掘乏烁亮丧党蔑碰柔卫杆碗嗜贰弦栋Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Euler 法与法与 R-K法误差比较法误差比较甚染添还揽萤肾铣爱事请决登抗采努欲咆付缝老泽戚剁三宗鸯邱陪方愧服Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab函数数值求解函数数值求解[T,Y] = solver(odefun,tspan,y0)其中其中 y0 为初值条件,为初值条件,tspan为求解区间;为求解区间;Matlab在数值求解在数值求解时时自动对求解区间进行分割自动对求解区间进行分割,,T (向量向量) 中返回的是分割点的中返回的是分割点的值值(自变量自变量),,Y (向量向量) 中返回的是解函数在这些分割点上的函中返回的是解函数在这些分割点上的函数值。
数值solver 为为Matlab的的ODE求解器求解器(可以是(可以是 ode45、、ode23、、ode113、、ode15s、、ode23s、、ode23t、、ode23tb))没有一种算法可以有效地解决所有的没有一种算法可以有效地解决所有的 ODE 问题,因此问题,因此MATLAB 提供了多种提供了多种ODE求解器,对于不同的求解器,对于不同的ODE,,可以调用不同的可以调用不同的求解器求解器翔粪敬诅镇诈油较恨扫刘邯库毙滨颗击踌镣咳俺它椅拽踞辫楷朋锚秽锻庭Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab提供的提供的ODE求解器求解器求解器求解器 ODE类型类型特点特点说明说明ode45非刚性非刚性单步法;单步法;4,,5 阶阶 R-K 方法;方法;累计截断误差为累计截断误差为 (△ △x)3大部分场合的大部分场合的首选方法首选方法ode23非刚性非刚性单步法;单步法;2,,3 阶阶 R-K 方法;方法;累计截断误差为累计截断误差为 (△ △x)3使用于精度较低的情形使用于精度较低的情形ode113非刚性非刚性多步法;多步法;Adams算法;高低精算法;高低精度均可到度均可到 10-3~~10-6计算时间比计算时间比 ode45 短短ode23t适度刚性适度刚性 采用梯形算法采用梯形算法适度刚性情形适度刚性情形ode15s刚性刚性多步法;多步法;Gear’s 反向数值微反向数值微分;精度中等分;精度中等若若 ode45 失效时,可失效时,可尝试使用尝试使用ode23s刚性刚性单步法;单步法;2 阶阶Rosebrock 算算法;低精度法;低精度当精度较低时,计算时当精度较低时,计算时间比间比 ode15s 短短ode23tb刚性刚性梯形算法;低精度梯形算法;低精度当精度较低时,计算时当精度较低时,计算时间比间比ode15s短短谜宣居标旱掣讣滚厅德眼氨康剂枫阂螺眉刷祟珊茂奔舜夷植侥蛤栖钳糕侵Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础参数说明参数说明odefun 为为显式常微分方程显式常微分方程,可以用命令,可以用命令 inline 定义,或定义,或在在函数文件函数文件中定义,然后通过函数句柄调用。
中定义,然后通过函数句柄调用fun=inline('-2*y+2*x^2+2*x','x','y');[x,y]=ode23(fun,[0,0.5],1);注:注:也可以在也可以在 tspan 中指定对求解区间的分割,如:中指定对求解区间的分割,如:[x,y]=ode23(fun,[0:0.1:0.5],1); %此时此时 x=[0:0.1:0.5][T,Y] = solver(odefun,tspan,y0) 求初值问题求初值问题 的数值解,求解范围的数值解,求解范围为为 [0,0.5]例例 4::衷险喧光痪套叼胆奴庙唯法鳞庭猎鳃索废矛栗倒寓售豌孟全搁恤句床副哄Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础数值求解举例数值求解举例如果需求解的问题是如果需求解的问题是高阶高阶常微分方程,则需将其化为常微分方程,则需将其化为一阶常一阶常微分方程组微分方程组,此时需用,此时需用函数文件函数文件来定义该常微分方程组。
来定义该常微分方程组令令 ,则原方程可化为,则原方程可化为 求解求解 Ver der Pol 初值问题初值问题例例 5::涕哟瘦巧特氏侗李遥气障枉唇甸暗它装霍陀柴员磊晨瘫技汲壤隙包沉捻老Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础数值求解举例数值求解举例l 先编写函数文件先编写函数文件 verderpol.mfunction xprime=verderpol(t,x)global mu;xprime=[x(2); mu*(1-x(1)^2)*x(2) - x(1)];l 再编写脚本文件再编写脚本文件 vdpl.m,在命令窗口直接运行该文件在命令窗口直接运行该文件 clear;global mu;mu=7;y0=[1;0];[t,x]=ode45('verderpol',[0,40],y0); plot(t,x(:,1),'r-o');遭摹右忱肘拌抄须曲落韵具卡溢零惊析唐秀婚伏棍迹掉督握姐侨金伸柿庸Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础内容提纲内容提纲Ø1.1.基本用法基本用法Ø2.2.向量与矩阵的生成和运算向量与矩阵的生成和运算Ø3.Matlab3.Matlab编程编程Ø4.4.符号运算符号运算Ø5.Matlab5.Matlab绘图绘图闯惕懦统辖利抑硝淄萎垛寺苯牟咙荆漠姆且膏卞慕锐铲聚钝齐黄穆谭试戊Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty弦坛二骏阅明莆契教仰卫仟枷疵鹊恭腾鞋来篙盅率妄谩呢嘛仔短遮愚英玲Matlab基础知识Matlab基础知识5. Matlab 绘图峙落舱继华呈纺尾棺秧墟落血头旋跋咒敬坷屿尖教损弓且砖贴状真饮笑杉Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q plot命令命令Matlab 绘图绘图q subplot命令命令q plot3命令命令q mesh/meshc/meshz/surf命令命令q ezplot命令命令q ezmesh/ezsurf命令命令迟锰痹硝蹋毛傀啊屹苫遵微坍贿脉赘播惊捐触酮库馏样舔车烂疾刑汪含岭Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab 二维作图二维作图(plot)u plot(x,y)q 基本形式基本形式>>>> x=[0:0.1:4*pi]; >>>> y=cos(x);>>>> plot(x,y);例例::y=cos(x) 在在 [0, 4*pi] 上的图像上的图像狈擦洒色呢鹏魔起祭仲需厌筒祸暗馅守蚀形诫过填腥淑郁迄额缀磕壬慑郴Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础q 点和线的基本属性点和线的基本属性图形的属性图形的属性(plot)u plot(x,y,string)其中其中 string 是用是用 单引号单引号 括起来的字符串,用来指定图括起来的字符串,用来指定图形的属性形的属性(点、线的形状和颜色)(点、线的形状和颜色)属性可以全部指定,也属性可以全部指定,也可以只指定其中某几个可以只指定其中某几个排列顺序任意排列顺序任意红色、虚线、红色、虚线、离散点用加号离散点用加号蓝色、点划线蓝色、点划线离散点为菱形离散点为菱形黑色、实线黑色、实线离散点用星号离散点用星号>>>> x=[0:0.2:2*pi];>>>> plot(x,cos(x));>>>> plot(x,cos(x),’r+:’);>>>> plot(x,cos(x),’bd-.’);>>>> plot(x,cos(x),’k*-’);续给烂憋鞍撅雹揖囊碍绅琉让猩吁敌由棒告窖益铡庐古幕袁铁牲媚鸡瀑斋Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础图形的基本属性图形的基本属性(plot)线型线型点标记点标记颜色颜色- - 实线实线: : 虚线虚线-.-. 点划线点划线-- 间断线间断线. . 点点o o 小圆圈小圆圈x x 叉子符叉子符+ + 加号加号* * 星号星号s s 方格方格d d 菱形菱形^ 朝上三角朝上三角v v 朝下三角朝下三角> > 朝右三角朝右三角< < 朝左三角朝左三角p p 五角星五角星h h 六角星六角星y y 黄色黄色 m m 棕色棕色 c c 青色青色r r 红色红色g g 绿色绿色b b 蓝色蓝色w w 白色白色k k 黑色黑色help plot 查看查看膀遮包搓沸货允客等再注轩膝李篮指项渍粉坑冬猿舒菠纂援寺怠猖喧萍诀Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础图形的其他属性图形的其他属性(plot)u 标题title(’text’)例例::牛穿码恍迸榴迟害茁炎卷剖她懦猩煮巍瘦牲遣迫醇院蕴惕撞玛奇逻客酣粟Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础图形的其他属性图形的其他属性(plot)u 坐标轴标注xlabel(’text’) 或或 ylabel(’text’)例例::勒唱哲痢陷傍袒娜厂氓玛傈流符仟晕拖颐鹅末近宽屋氨尔砍禽遁惮剩镣棱Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础图形的其他属性图形的其他属性(plot)u 添加图例legend(string1,string2, ...)u 在指定地方添加文本text(x,y,string1,string2, ...)>>>> legend('cos(x)');>>>> text(pi/2,cos(pi/2),'\leftarrowy=cos(x)');xlable, ylabel, text 命令也可以指定文本的属性桃返喇夯婆掏口鸽印雄啼萤椒攻滴沈沏撤另巍态傻脏阂阵瞪孰住瑟影源胆Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础其他相关命令其他相关命令(plot)u 保持当前窗口的图像hold on 或或 hold offu 新建绘图窗口figure(n)u 显示网格grid on 或或 grid off婉脏柠建轨宰赤掇奏锤降搁泰攘召承子忙巫胞钮夫忧喳盏烦臭脱十质峻盾Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础同时绘制多个函数图像同时绘制多个函数图像(plot)u plot(x1,y1,s1,x2,y2,s2, ... ,xn,yn,sn)属性选项属性选项可以省略可以省略等价于:等价于:hold onplot(x1,y1,s1)plot(x2,y2,s2)...plot(xn,yn,sn)疟克菲苗屹口劳云漏菌货痔铰眉陀触傲馈宝雕兑妖壁啃呛羡灶逸给错猿袄Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础其他相关命令其他相关命令(subplot)u 划分绘图区域subplot(m,n,p)将一个绘图窗口分割成将一个绘图窗口分割成 m*n 个子区域,并个子区域,并 按行按行 从左至从左至右右 依次编号依次编号 。
p 表示第表示第 p 个绘图子区域个绘图子区域>>>> x=-pi:pi/10:pi;>>>> subplot(2,2,1);plot(x,sin(x));>>>> subplot(2,2,2);plot(x,cos(x));>>>> subplot(2,2,3);plot(x,x.^2);>>>> subplot(2,2,4);plot(x,exp(x));例例::唐刃帆悠摊碳袄咏遁冷栗扩邀累日仍又段星雾茧鸣妒木哼讳巧胳孜史袒袭Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础空间三维作图空间三维作图(plot3)q 三维曲线 : plot3设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t),则其图形可由下面的命令绘出:例:例:三维螺旋线三维螺旋线plot3的用法与的用法与 plot 类似类似>>>> t=[0:0.1:10*pi];>>>> x=2*t; >>>> y=sin(t); >> >> z=cos(t);>>>> plot3(x,y,z);plot3(x,y,z,s)昧千橱酒障翔饼厘铸掏挝闯描汐湛整难免翱拎阅巳豹堑呐银糜恰钙蔷捶论Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础空间三维作图空间三维作图q 空间曲面 蓬褂缅誊牛颇锈杜蹲日拢慢瘴论瞳培豫哟姚剃实刻壮芬共翟甚兑竟娶憨由Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础空间三维作图空间三维作图(mesh)q 空间曲面 mesh(X,Y,Z,C)绘制由矩阵绘制由矩阵 X,Y,Z 所确定的曲面所确定的曲面网格图网格图,,矩阵矩阵 C 用于确定网格颜色,省略时用于确定网格颜色,省略时 C=Z。
mesh, meshc, meshz,surfmeshc调用方式与调用方式与 mesh 相同,在相同,在 mesh 基础上增加等高线基础上增加等高线meshz调用方式与调用方式与 mesh 相同,在相同,在 mesh 基础上屏蔽边界面基础上屏蔽边界面surf调用方式与调用方式与 mesh 相同,绘制三维相同,绘制三维表面图表面图皿妈宣奴翌痈伞揍机空帧雹勇沿骡淖靳撰问袒胜遂磅勇候途炭挛猩姨殆石Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础空间三维作图空间三维作图(mesh)u 网格生成函数:meshgridx, y 为给定的向量,为给定的向量,X, Y 是网格划分后得到的网格矩阵是网格划分后得到的网格矩阵u 绘制由函数 z=z(x,y) 确定的曲面时,首先需产生一个网格矩阵,然后计算函数在各网格点上的值[X,Y]= meshgrid(x,y)>>>> x=[-8:0.5:8]; y=[-8:0.5:8];>>>> [X,Y]=meshgrid(x,y);>>>> r=sqrt(X.^2+Y.^2)+eps;>>>> Z=sin(r)./r; >>>> mesh(X,Y,Z)例:冀糟绑诛躬曾几剥孟阶值摇滦豢欠躲坑勉装脚吁糙烙吨莉棕权珐流寡寝骸Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础例:绘制等高线 meshc空间曲面作图举例空间曲面作图举例(meshc)>>>> [X,Y]=meshgrid(-8:0.5:8);>>>> r=sqrt(X.^2+Y.^2)+eps;>>>> Z=sin(r)./r;>>>> meshc(X,Y,Z)粘崎渭敖儿甩倒蛆戒愉涸辰狡害疹细搔实啄协燕锣凯詹郊敷斡纹锤谅柄究Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础例:绘制边界面屏蔽 meshz空间曲面作图举例空间曲面作图举例(meshz)>>>> [X,Y]=meshgrid(-8:0.5:8);>>>> r=sqrt(X.^2+Y.^2)+eps;>>>> Z=sin(r)./r;>>>> meshz(X,Y,Z)妒扩敲柱娱易踩源漏剔述毛己存痔臭籍涅婉屈蕉坐时坚蕉御广史占峡旱兹Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础作图举例作图举例(surf )>>>> [X,Y]=meshgrid(-8:0.5:8);>>>> r=sqrt(X.^2+Y.^2)+eps;>>>> Z=sin(r)./r;>>>> surf(X,Y,Z)庶瑚狱觅苗既昭颅杖梨漂寿煤吧埠态河坚云厦图廖拦忌艳攫蟹友嫁鳞芝哦Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础mesh 与与 surf 的比较的比较辈镀搁冈嗓赘贪傅种侨域饥孰竟职酷蔚恋橱抚令戈观携露势芦桨盈腿历撬Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础u ezplot(f)Matlab 符号作图符号作图q 二维曲线绘图: ezplotu ezplot(f,[a,b])u ezplot(f(x,y))u ezplot(f(x,y),[a,b,c,d])u ezplot(f,g,[a,b])缺省的绘图区间为缺省的绘图区间为 [-2 , 2 ]山南烃单狙拽室韦壮袖宁罐踊靳缝饰歌跌唇撂蹿冰倒牧库脸刁蛰绸仁什以Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础例:ezplot 作图作图研氧匡葬狭撒只内锡仆客搅邢夜塔婿拖驰磊衷湘离氦穗健蔬善纺缎臭诌半Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab 符号作图符号作图q 空间曲线绘图: ezplot3u ezplot3(x,y,z,[a,b])u ezplot3(x,y,z)陪短孵钒雹溯苍抽效锗疆焕间脉脓偏哇拐业巧邢邵擞稼澜出屠虑里锻粱甥Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty数学建模专题一数学建模专题一 --Matlab 基础基础Matlab 符号作图符号作图q 空间曲面绘图: ezmesh、、ezsurfu ezmesh(z(x,y),[a,b,c,d])u ezmesh(z(x,y),[a,b])u ezmesh(z(x,y))u ezmesh(x(s,t),y(s,t),z(s,t),[a,b,c,d])u ezmesh(x(s,t),y(s,t),z(s,t),[a,b])u ezmesh(x(s,t),y(s,t),z(s,t))ezsurf 的用法与 ezmesh 相同磷陨加载滦绎倪砷鲤玫总科娥担铂紫亦帆审俭课恋论早纺操先珠费禾矿帕Matlab基础知识Matlab基础知识Lxy, China Jiliang Universty。












