2010年桂林理工大学数学建模竞赛暑期培训班 MATLAB编程入门培训课程 桂林理工大学理学院信息与计算科学教研室 艾武
学习方法 MATLAB 基础入门 设计提高 综合应用 MATLAB简介 MATLAB基本操作 MATLAB常用命令 MATLAB数组运算
课程目录 MATLAB简介 1 MATLAB语言基础 2 MATLAB数值计算 3 MATLAB程序设计 4 MATLAB绘图 5
1. MATLAB简介
1. MATLAB简介 1.1 MATLAB发展历史 1.2 MATLAB应用领域 1.3 MATLAB工具箱 1.4 MATLAB安装文件 1.8 上机练习
1. MATLAB简介 http://www.mathworks.com Matlab——Matrix Laboratory Cleve Moler Matlab——Matrix Laboratory, 该语言是美国New Mexico大学计算机系主任Cleve Moler在70年代后期首先设计的. 并于80年代初开发了第二代专业版. 1984年, Cleve Moler和John Litter成立了Math works公司, 并开始把Matlab推向市场. (迈斯沃克公司) http://www.mathworks.com Matlab——Matrix Laboratory
Mathematica Maple SAS SPSS Eviews LINGO LINDO 1. MATLAB简介 1.2 MATLAB应用领域 目前,Matlab 已经成为国际上最流行的科学与工程计算的软件 工具,它已经不仅仅是一个“矩阵实验室”了,而成为了一种具有广泛应用前景的全新的计算机高级编程语言,有人称它为“第四代”计算机语言。 就影响而言,至今仍然没有一个别的计算软件可与 Matlab 匹敌。 在欧美各高等院校,Matlab已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。 Mathematica Maple SAS SPSS Eviews LINGO LINDO
1. MATLAB简介 1.3 MATLAB工具箱 Matlab Main Toolbox Matlab主工具箱 Control System Toolbox 控制系统工具箱 Communication Toolbox 通讯工具箱 Financial Toolbox 财政金融工具箱 System Identification Toolbox 系统辨识工具箱 Fuzzy Logic Toolbox 模糊逻辑工具箱 Higher-Order Spectral Analysis Toolbox 高阶谱分析工具箱 Image Processing Toolbox 图像处理工具箱 LMI Control Toolbox 线性矩阵不等式工具箱 Model predictive Control Toolbox 模型预测控制工具箱 μ-Analysis and Synthesis Toolbox μ分析工具箱
1. MATLAB简介 1.3 MATLAB工具箱 Optimization Toolbox 优化工具箱 Partial Differential Toolbox 偏微分方程工具箱 Robust Control Toolbox 鲁棒控制工具箱 Signal Processing Toolbox 信号处理工具箱 Spline Toolbox 样条工具箱 Statistics Toolbox 统计工具箱 Symbolic Math Toolbox 符号数学工具箱 Simulink Toolbox 动态仿真工具箱 System Identification Toolbox 系统辨识工具箱 Wavelet Toolbox 小波工具箱
1. MATLAB简介 1.4 MATLAB安装文件
1. MATLAB简介 1.5 MATLAB操作界面 快捷键F5运行
1. MATLAB简介 1.6 MATLAB文件类型 .m m文件 .mat data文件 .fig figure文件 .mdl model文件 .cdr stateflow文件 .rpt report generator文件
1. MATLAB简介 1.7 MATLAB常用命令 help 帮助查询 lookfor demo 演示文档 clc 删除命令窗口的内容(已使用过的命令) clear 删除内存中的变量(数据) clf 删除图形窗口的内容 who 列出在MATLAB工作空间中已有的变量 whos 列出驻留变量的同时,还给出维数及性质 home 光标移到命令窗口的左上角 ↑ 调出刚才使用过的命令 quit 退出MATLAB Ctrl+C 中断程序运行
1. MATLAB简介 1.7 MATLAB常用命令 version 显示matlab版本 what 列出当前目录下的.m文件和.mat文件 which <文件名> 显示某个文件的路径 load name 下载name文件中的所有变量到工作空间 load name x y 下载name文件中的变量x, y到工作空间 save name 保存工作空间变量到文件name.mat中 save name x y 保存工作空间变量x, y到文件name.mat中 size (变量名) 显示当前工作空间中变量的尺寸 length (变量名) 显示当前工作空间中变量的长度 pack 整理工作空间内存 vpa(x,n) 显示n位小数的x disp 显示矩阵与文本
1. MATLAB简介 1.8 上机练习
2. MATLAB语言基础
2. MATLAB语言基础 2.1 MATLAB数据类型 2.2 MATLAB数组运算 2.3 MATLAB向量运算 2.8 上机练习
2. MATLAB语言基础 MATLAB 2.1 MATLAB数据类型 1. 数值型 2. 字符字符串 3. 元胞数组 4. 架构数组
2. MATLAB语言基础 Matlab中变量名是以字母开头,可以由字母、数字或下划线组成
2. MATLAB语言基础 2.1 MATLAB数据类型 常量 ans Matlab中的默认变量 pi 圆周率 eps 计算机中的最小数,浮点运算的相对精度 inf 无穷大,如 1/0 NaN 不定值,如 0/0、0*∞ i 或 j 复数中的虚数单位 realmin 最小可用正实数 realmax 最大可用正实数
2. MATLAB语言基础 2.1 MATLAB数据类型 数字显示格式命令 format short 5位定点表示 format long 15位定点表示 format short e 5位浮点表示 format long e 15位浮点表示 format short g 5位定点和5位浮点中自动选择最好格式表示 format long g 15位定点和15位浮点中自动选择最好格式表示 format hex 16进制格式表示 format + 在矩阵中,用符号+、-和空格表示正号、负号和零
2. MATLAB语言基础 Matlab中的表达式由运算符、函数、变量名和数字组成 Matlab 语句由变量和表达式组成,有两种常见形式: 形式1:表达式 形式2:变量=表达式 若不想显示形式1或2的运算结果,可在表达式后加分号“;”
2. MATLAB语言基础 + 加法 - 减法 * 乘法 .* 点乘 / 除法 ./ 点除 ^ 乘幂 .^ 点乘幂 \ 左除 .\ 点左除
2. MATLAB语言基础 2.2 MATLAB数组运算 数组的构造 手动法 数组用中括号,以空格或逗号为间隔输入元素 手动法 数组用中括号,以空格或逗号为间隔输入元素 x=[0 1 3 5 7 9 10] x=[0,1,3,5,7,9,10] x= 0 1 3 5 7 9 10
2. MATLAB语言基础 2.2 MATLAB数组运算 数组的构造 冒号法 a:步长:b a:b (默认 步长=1) x=[0:0.5:2] y=[0:5] x= 0 0.5000 1.0000 1.5000 2.0000 y= 0 1.0000 2.0000 3.0000 4.0000 5.0000
2. MATLAB语言基础 2.2 MATLAB数组运算 数组的构造 函数法 linspace(a,b,n) 从a开始,到b结束,包含n个数据元素的数组 [ a:(b-a)/(n-1):b ] x=linspace(0,pi,12) x= 0 0.2856 0.5712 0.8568 1.1424 1.4280 1.7136 1.9992 2.2848 2.5704 2.8560 3.1416
2. MATLAB语言基础 2.2 MATLAB数组运算 数组的引用 x(n) 表示数组中的第n个元素 x(n1:n2) 表示数组中的第n1到n2个元素 x=[1 2 3 4 5] x(1:3) ans= 1 2 3
2. MATLAB语言基础 2.2 MATLAB数组运算 矩阵数组 以空格或逗号分隔,指定不同的列 以分号或回车分隔,指定不同的行
2. MATLAB语言基础 2.2 MATLAB数组运算 四则运算 数组与标量间的四则运算 x=[1 3 4; 2, 6, 5; 3 2,4] a=2*x-2 a= 0 4 6 2 10 8 4 2 6
2. MATLAB语言基础 2.2 MATLAB数组运算 四则运算 数组间的四则运算,必须具有相同的维数,对应元素进行运算 + - .* ./ .\ a=[1 3 4;2, 6, 5;3 2,4] b=[2 3 1;4 1 2;4 5 3] c=a+b c= 3 6 5 6 7 7 7 7 7
2. MATLAB语言基础 2.2 MATLAB数组运算 四则运算 a=[1 3 4;2, 6, 5;3 2,4] c=a.*b d=a./b a./b=b.\a c= 2 9 4 8 6 10 12 10 12 d= 0.5000 1.0000 4.0000 0.5000 6.0000 2.5000 0.7500 0.4000 1.3333
2. MATLAB语言基础 2.2 MATLAB数组运算 幂运算 数组的幂运算 .^ a=[1 3 4;2, 6, 5;3 2,4] 数组的幂运算 .^ a=[1 3 4;2, 6, 5;3 2,4] c=a.^2 d=a^2 c= 1 9 16 4 36 25 9 4 16 d= 19 29 35 29 52 58 19 29 38
2. MATLAB语言基础 2.2 MATLAB数组运算 幂运算 a=[1 3 4;2, 6, 5;3 2,4] c=a.^b c= 1 27 4 16 6 25 81 32 64
2. MATLAB语言基础 2.3 MATLAB向量运算 点积 c=dot(a,b) c=a·b,相当于a*b’(a与b都是行向量) 137
2. MATLAB语言基础 2.3 MATLAB向量运算 叉积 c=cross(a,b) c=a×b,a与b必须是3维向量 0 -5 4
2. MATLAB语言基础 2.3 MATLAB向量运算 混合积 由dot和cross两个函数共同完成 abc=(a×b) ·c d=dot(a,cross(b,c)) c= 0 -5 4
2. MATLAB语言基础 max 求最大值 min 求最小值 sum 求和 length 求长度 mean 求平均值 median 求中间值 prod 乘积 sort 从小到大排序
2. MATLAB语言基础 [ ] 生成空矩阵 eye(n,m) 生成n×m单位矩阵 ones(n,m) 生成全部元素是1的矩阵 [ ] 生成空矩阵 eye(n,m) 生成n×m单位矩阵 ones(n,m) 生成全部元素是1的矩阵 zeros(n,m) 生成全部元素是0的矩阵 magic(n) 生成魔方矩阵 rand(n,m) 生成0~1之间均匀分布的随机矩阵 randn(n,m) 生成均值为0,方差为1的标准正态分布的随机矩阵 compan(a) 生产矩阵a的伴随矩阵
2. MATLAB语言基础 2.4 MATLAB矩阵运算 矩阵加法 矩阵的四则运算 A=[1 2;3 5;2 6] C=A+B C= 3 6 4 13 11 6
2. MATLAB语言基础 2.4 MATLAB矩阵运算 矩阵乘法 矩阵的四则运算 A=[1 2;3 5;2 6] D=A*B D= 18 22 1 46 57 3 52 62 2
2. MATLAB语言基础 2.4 MATLAB矩阵运算 矩阵除法 在Matlab中矩阵的除法分左除“\”和右除“/” X=A\B 给出线性方程组 AX=B 的一个解 X=B/A 给出线性方程组 XA=B 的一个解 A\B A= B= B/A sym(A\B,'r') = 5/7 1 9/7 -8/7 -1 -6/7 44/7 7 54/7 sym(B/A,'r') = -2/7 8/7 13/7 1/7 17/7 25/7 4/7 26/7 37/7
2. MATLAB语言基础 2.4 MATLAB矩阵运算 矩阵乘幂 矩阵的幂运算 ^ C=A^2 C= 3433 2074 1754 3555 3766 2631 3536 2312 2015
2. MATLAB语言基础 2.4 MATLAB矩阵运算 矩阵转置、逆、行列式 矩阵的转置、逆运算及行列式运算 C=A’ D=inv(A) e=det(A) C= 1 2 4 2 5 10 0 -1 -1 D= 5 2 -2 -2 -1 1 0 -2 1 e= 1
2. MATLAB语言基础 size 查看字符数组维数 char 把数字转换为字符串 strcmp 比较字符串 strcat 字符串连接 upper 转换为大写 lower 转换为小写 findstr 在字符串中找字符串 strjust 对齐字符数组 strmatch 查找匹配字符串 deblank 删除字符串中的空格
2. MATLAB语言基础 2.6 MATLAB关系运算 关系操作符 A=[1 4 3 5 7] B=[2 6 9 0 7] A==B ans= 0 0 0 0 1 < 小于 <= 小于等于 > 大于 >= 大于等于 == 等于 ~= 不等于 运算法则:若关系式成立,结果为1; 若关系式不成立,结果为0。
2. MATLAB语言基础 2.7 MATLAB逻辑运算 逻辑操作符 a=1:2:11 b=2:7 (a<2)|(b>6) ans= 1 0 0 0 0 1 & 与 | 或 ~ 非 运算法则: 若逻辑真,结果为1; 若逻辑假,结果为0。
2. MATLAB语言基础 2.8 上机练习
3. MATLAB数值计算
3. MATLAB数值计算 3.1 多项式运算 3.2 多项式插值 3.3 多项式拟合 3.4 上机练习
3. MATLAB数值计算 3.1 多项式 构造 poly2sym(p) p=[a0,a1,…,an],多项式降幂排列系数数组 3.1 多项式 构造 poly2sym(p) p=[a0,a1,…,an],多项式降幂排列系数数组 p=[2 5 0 4 1 4] poly2sym(p) ans= 2*x^5+5*x^4+4*x^2+x+4
3. MATLAB数值计算 3.1 多项式 四则运算 +、-、conv(p1,p2)、deconv(p1,p2) 加减要补零,相同长度 3.1 多项式 四则运算 +、-、conv(p1,p2)、deconv(p1,p2) 加减要补零,相同长度 p1=[2 5 0 4 1 4]; p2=[0 0 5 1 3 2]; p=p1+p2 poly2sym(p) ans= 2*x^5+5*x^4+5*x^3+5*x^2+4*x+6
3. MATLAB数值计算 3.1 多项式 四则运算 +、-、conv(p1,p2)、deconv(p1,p2) 3.1 多项式 四则运算 +、-、conv(p1,p2)、deconv(p1,p2) p1=[2 5 0 4 1 4]; p2=[0 0 5 1 3 2]; p=conv(p1,p2) poly2sym(p) ans= 10*x^8+27*x^7+11*x^6+39*x^5+19*x^4+33*x^3+15*x^2 +14*x+8
3. MATLAB数值计算 3.1 多项式 四则运算 +、-、conv(p1,p2)、deconv(p1,p2) 3.1 多项式 四则运算 +、-、conv(p1,p2)、deconv(p1,p2) p1=[2 5 0 4 1 4]; p2=[0 0 5 1 3 2]; [p,r]=deconv(p1,p2) p= 0.4000 0.9200 -0.4240 r= 0 0 0 0.8640 0.4320 4.8480
3. MATLAB数值计算 3.1 多项式 求导运算 polyder(p) p1=[2 5 0 4 1 4] h=polyder(p1) 3.1 多项式 求导运算 polyder(p) p1=[2 5 0 4 1 4] h=polyder(p1) poly2sym(h) ans= 10*x^4+20*x^3+8*x+1
3. MATLAB数值计算 3.1 多项式 求值运算 polyval(p,s) 数组规则 polyvalm(p,s) 矩阵规则 3.1 多项式 求值运算 polyval(p,s) 数组规则 polyvalm(p,s) 矩阵规则 p1=[2 5 0 4 1 4] h=polyval(p1,[3,4]) k=polyvalm(p1,[3,4;4,6]) h= 934 3400 k= 43414 62640 62640 90394
3. MATLAB数值计算 3.1 多项式 求根运算 roots(p) p1=[2 5 6 4 1 8] h=roots(p1) h= 3.1 多项式 求根运算 roots(p) p1=[2 5 6 4 1 8] h=roots(p1) h= -1.7640 -0.8679 + 1.3394i -0.8679 - 1.3394i 0.5000 + 0.8001i 0.5000 - 0.8001i
3. MATLAB数值计算 3.1 多项式 多项式函数 conv 多项式乘法 polyfit 多项式拟合 deconv 多项式除法法 3.1 多项式 多项式函数 conv 多项式乘法 polyfit 多项式拟合 deconv 多项式除法法 polyval 多项式求值 poly 求矩阵的特征多项式 polyvalm 多项式矩阵求值 polyder 多项式求导 residue 部分分式展开 polyeig 多项式求特征值 roots 求多项式的根
3. MATLAB数值计算 nearest 最近插值 linear 线性插值 spline 三次样条插值 cubic 三次插值 3.2 多项式插值 interp1(x,y,x1,’method’) nearest 最近插值 linear 线性插值 spline 三次样条插值 cubic 三次插值 x=4:15; y=[5 8 9 15 25 29 31 30 22 25 27 24]; x=4:0.5:15; yn=interp1(x,y,x1,’nearest’); yl=interp1(x,y,x1,linear’); ys=interp1(x,y,x1,’spline’); yc=interp1(x,y,x1,’cubic’); plot(x,y,’o’,x1,yn,’-’); plot(x,y,’o’,x1,yl,’-’); plot(x,y,’o’,x1,ys,’-’) ; plot(x,y,’o’,x1,yc,’-’);
3. MATLAB数值计算 3.3 多项式拟合 polyfit(x,y,n) x=linspace(x,y,n); y=cos(x); p=polyfit(x,y,6); y1=polyval(p,x); plot(x,y,’or’,x,y1,’-b’);
3. MATLAB数值计算 3.4 上机练习
4. MATLAB程序设计
4. MATLAB程序设计 4.1 M文件 4.2 数据的输入输出 4.3 程序结构控制 4.4 上机练习
4. MATLAB程序设计 4.1 M文件 局部变量与全局变量 global A B C 无论在脚本文件还是在函数文件中,都会定义一些变量。函数文件所定义的变量是局部变量,这些变量独立于其他函数的局部变量和工作空间的变量,即只能在该函数的工作空间引用,而不能在其他函数工作空间和命令工作空间引用。 但是如果某些变量被定义成全局变量,就可以在整个MATLAB 工作空间进行存取和修改,以实现共享。因此,定义全局变量是函数间传递信息的一种手段。
4. MATLAB程序设计 4.1 M文件 M文件的编辑
4. MATLAB程序设计 4.1 M文件 脚本文件 一些命令的集合 x=linspace(x,y,n); y=cos(x); p=polyfit(x,y,6); y1=polyval(p,x); plot(x,y,’or’,x,y1,’-b’);
4. MATLAB程序设计 4.1 M文件 函数文件 function开头,编制一个函数文件,输入什么,输出什么 [输出参数表]=函数名(输入参数表) function y=hanshu(x) y=sin(x)+cos(x);
4. MATLAB程序设计 sin(x) 正弦 asin(x) 反正弦 cos(x) 余弦 acos(x) 反余弦 tan(x) 正切 atan(x) 反正切 cot(x) 余切 acot(x) 反余切 abs(x) 绝对值 max(x) 最大值 min(x) 最小值 sum(x) 求和 sqrt(x) 开平方 exp(x) 以e为底的指数 log(x) 自然对数 log10(x) 以10为底的对数 sign(x) 符号函数 fix(x) 取整
4. MATLAB程序设计 4.2 数据输入与输出 键盘输入 屏幕输出 input disp x=input(‘请输入数据’); 4.2 数据输入与输出 键盘输入 屏幕输出 input disp x=input(‘请输入数据’); disp(x);
4. MATLAB程序设计 save 将所有工作空间变量存储在名为MATLAB.mat的文件中 save filename 将所有工作空间变量存储在名为filename.mat的文件中 save filename X Y Z 将工作空间的指定变量X、Y、Z存储在名为filename.mat的文件中
4. MATLAB程序设计 load 加载名为MATLAB.mat的文件中的所有变量到工作空间 load filename 加载名为filename.mat的文件中的所有变量到工作空间 load filename X Y Z 加载名为filename.mat的文件中的X、Y、Z变量到工作空间
4. MATLAB程序设计 4.2 数据输入与输出 外部文件导入 .xls EXCEL文件数据导入 [filename, pathname]= uigetfile('*.xls'); %寻找源文件 file=[pathname filename]; %赋名 x=xlsread(file); %格式转换为矩阵 之后就用x来代表导入的这个矩阵。 如excel 里输入了 1 2 3 4 5 6 如下命令 x(1,:) ans = 1 2 3
4. MATLAB程序设计 4.2 数据输入与输出 外部文件导入 .txt 记事本文件数据导入 [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) 说明: %s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。 这里%s的个数和[a1,a2,a3,a4]对应。
4. MATLAB程序设计 4.2 数据输入与输出 外部文件导入 file->import data 按照提示进行 .xls .txt
4. MATLAB程序设计 4.3 程序结构控制 for循环 for 循环控制命令 循环控制命令(for命令) 格式: for i=n1:(step):n2 commands; end 作用:重复执行命令集commands.
4. MATLAB程序设计 4.3 程序结构控制 for循环 例1:求和:s=1+2+…+n n=input('请输入 n='); s=0; for i=1:n s=s+i; fprintf('i=%.0f, s=%.0f\n',i,s); end 例2:求奇数和:s=1+3+5+…+(2k-1) n=input('请输入 n='); s=0; for i=1:2:n s=s+i; fprintf('i=%.0f, s=%.0f\n',i,s); end
4. MATLAB程序设计 4.3 程序结构控制 for循环 例3:求阶乘:p=1×2 × 3 × … × n=n! n=input('请输入 n= '); p=1; for i=1:n p=p*i; fprintf(' i=%.0f, p=%.0f\n ',i,p); end 例4:求e:e=1+1+1/2!+1/3!+…+1/n! n=input('请输入 n= '); p=1;e=1; for i=1:n p=p*i; p1=1/p; e=e+p1; fprintf(' i=%.0f, p=%.0f, e=%.8f \n ',i,p,e); end
4. MATLAB程序设计 4.3 程序结构控制 for循环 例5:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+… n=input('请输入 n= '); pi=0;k=-1; for i=1:2:n k=(-1)*k; pi=pi+k*1/i; fprintf(' i=%.0f, pi=%.8f \n ',i,4*pi); end
4. MATLAB程序设计 4.3 程序结构控制 while循环 while 条件循环命令 条件循环命令(while命令) 格式: while (condition is true) commands; end 作用:重复执行命令集commands.
4. MATLAB程序设计 4.3 程序结构控制 while循环 例6:求和:s=1+2+…+n<3000 s=0;k=1; s=s+k; fprintf(' k=%.0f, s=%.0f\n ',k,s); k=k+1; end 例7:求e:e=1+1+1/2!+1/3!+… (1/n!<1.0e-8) p=1;e=1;r=1;i=1; while r>=1.0e-8 p=p*i; r=1/p; e=e+r; fprintf(' i=%.0f, r=%.9f, e=%.9f \n ',i,r,e); i=i+1; end
4. MATLAB程序设计 4.3 程序结构控制 if控制 if 选择控制命令 单项选择控制 格式: if (condition is true) commands; end 作用:若条件成立,则执行命令集 commands. 否则,不执行。
4. MATLAB程序设计 4.3 程序结构控制 if控制 例8:求n个实数中最大的数M a=input('请输入数组 a[n]= '); [m,n]=size(a); M=a(1); for i=2:n if M<a(i) M=a(i); end fprintf(' M=%.5f, a(%.0f)=%.5f \n ',M,i,a(i));
4. MATLAB程序设计 4.3 程序结构控制 if控制 if 选择控制命令 多项选择控制 格式: if (condition is true) commands; elseif (condition is true) else end 作用:若条件成立,则执行命令集commands. 否则,不执行。
4. MATLAB程序设计 4.3 程序结构控制 if控制 例9:建立符号函数sign(x) x=input('x='); if x>0 sn=1; elseif x==0 sn=0; else sn=-1; end fprintf('x=%.5f, sn=%.0f\n',x,sn);
4. MATLAB程序设计 4.4 上机练习
5. MATLAB绘图
5. MATLAB绘图 5.1 图形窗口 5.2 二维绘图 5.3 三维维绘图 5.4 上机练习
5. MATLAB绘图 close 关闭当前图形窗口 close( n) 关闭指定图形窗口n close all 关闭所有图形窗口 clf 5.1 图形窗口 figure figure (n) 创建图形窗口 close 关闭当前图形窗口 close( n) 关闭指定图形窗口n close all 关闭所有图形窗口 clf 清楚当前图形窗口图像
5. MATLAB绘图 plot(x) x各分量的序号为横坐标,分量值为纵坐标 plot(x,y) x为横坐标,y为纵坐标 5.2 二维绘图 plot plot(x) x各分量的序号为横坐标,分量值为纵坐标 plot(x,y) x为横坐标,y为纵坐标 plot(x1,y1,x2,y2) 同时画两条线 plot(x,y,’s’) 设置线条样式 plot(x1,y1,’s1’,x2,y2,’s2’) 同时画多条曲线及样式
5. MATLAB绘图 5.2 二维绘图 颜色及样式 r 红色 - 实线 g 绿色 -- 虚线 b 蓝色 : 点线 y 黄色 -. 点划线 5.2 二维绘图 颜色及样式 r 红色 - 实线 g 绿色 -- 虚线 b 蓝色 : 点线 y 黄色 -. 点划线 m 洋红色 o 圆圈 c 青色 x 叉号 w 白色 + 加号 k 黑色 s 正方形 * 星号 d 菱形 . 点号
5. MATLAB绘图 5.2 二维绘图 示例 x=linspace(0,2*pi,101); y=sin(x); 5.2 二维绘图 示例 x=linspace(0,2*pi,101); y=sin(x); plot(x,y,'-*r');
5. MATLAB绘图 5.2 二维绘图 示例 x=linspace(0,2*pi,101); y1=sin(x); y2=cos(x); 5.2 二维绘图 示例 x=linspace(0,2*pi,101); y1=sin(x); y2=cos(x); plot(x,y1,'-r‘,x,y2,’-b’);
5. MATLAB绘图 5.2 二维绘图 示例 x=peaks; plot(x);
5. MATLAB绘图 plot3(x,y,z) x,y,z长度相同向量 plot3(X,Y,Z) X,Y,Z维数相同矩阵 5.3 三维绘图 plot3 plot3(x,y,z) x,y,z长度相同向量 plot3(X,Y,Z) X,Y,Z维数相同矩阵 plot3(x,y,z,’s’) 带样式 plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’) 同时画多个
5. MATLAB绘图 5.3 三维绘图 示例 plot3 t=0:pi/50:10*pi; 5.3 三维绘图 示例 plot3 t=0:pi/50:10*pi; plot3(t,sin(t),cos(t),'r-');
5. MATLAB绘图 5.3 三维绘图 示例 plot3 [x,y,z]=peaks; plot3(x,y,z,‘b-');
5. MATLAB绘图 5.3 三维绘图 示例 mesh 三维网格 [x,y,z]=peaks; mesh(x,y,z);
5. MATLAB绘图 5.3 三维绘图 示例 surf 三维曲面 [x,y,z]=peaks; surf(x,y,z);
5. MATLAB绘图 5.4 上机练习
桂林理工大学理学院信息与计算科学教研室 艾武 Thank You! 桂林理工大学理学院信息与计算科学教研室 艾武