matlab入门(中学生)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
==
~=
等于
不等于
3.逻辑运算符 & 与 | 或 ~ 非
(and) (or) (not)
19
Plot(X,Y) —— 最基本的二维图形命令
plot命令自动打开一个图形窗口Figure1
原理:
用直线连接相邻两数据点来绘制图形 根据图形坐标大小自动缩扩坐标轴,将数据标尺及单 位标注自动加到两个坐标轴上 使用方法:
x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x);
plot(x,y)
13
函数文件(函数式M文件)
可输入参数,也可返回参数 主要用来定义函数子程序,它由function起头, 后跟的函数名必须与文件名相同。 例 4 计 算 第 n 个 Fibonnaci 数 的 函 数 文 件 fibfun.m function f=fibfun(n) if n>2 f=fibfun(n-1)+fibfun(n-2); else f=1; end
22
例8 在区间[0,2*pi]画sin(x)的图形,并加注图例“自变量 X”、“函数Y”、“示意图”, 并加格栅.
解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) xlabel('自变量X') ylabel('函数Y') title('示意图') grid on
24
2、定制坐标
Axis([xmin xmax ymin ymax zmin zmax]) 定制图形坐标
x、y、z的最大、最小值
Axis auto 将坐标轴返回到自动缺省值
例10 在区间[0.005,0.01]显示sin(1/x)的图形。
解 x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) axis([0.005 0.01 -1 1])
32
plot3的用法与 plot 类似
空间三维作图
绘制由函数 z=z(x,y) 确定的曲面时,首先需产生一个网 格矩阵,然后计算函数在各网格点上的值。 网格生成函数:meshgrid [X,Y]= meshgrid(x,y)
x, y 为给定的向量,X, Y 是网格划分后得到的网格矩阵 若 x = y, 则可简写为 [X,Y]= meshgrid(x)
28
• • • • •
【例13】 x=0:0.1*pi:pi; y=sin(x); z=cos(x); plot(x,y,'--k',x,z,'-.rd')
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 0.5 1 1.5 2 2.5 3 3.5
29
图形窗口的分割
31
空间三维作图
三维曲线 : plot3
设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t), 则其图形可由下面的命令绘出:
plot3(x,y,z,s)
例15:三维螺旋线 >> >> >> >> >> t=[0:0.1:10*pi]; x=2*t; y=sin(t); z=cos(t); plot3(x,y,z);
x=1:5 (从1到5公差为1的等差数组) (从0到1, 公差为0.1) %11个从0到
8
x=0 : 0.1 : 1
x=linspace(0, pi, 11) pi的等间隔数.
2) 数组的操作
x(3) 表示x的第3个元素
x(1:5)
x(1:2:5)
表示x的第1到第5个元素构成 的数组.
x([2,1,4])
9
3) 数组的运算
A=[1 2 3];B=[2 2 2]; A.*B=[2 4 6]; A./B=[0.5000 1.0000 1.5000];
A.^B=[1 4 9];
siΒιβλιοθήκη Baidu(A)=[0.8415 0.9093 0.1411];
10
数组函数
max(v) min (v) sum(v) mean(v) sort(v) 求最大值 求最小值 求和 求平均值 按升序排列
35
•ezplot3函数调用格 式:ezplot3(x,y,z,[tmin,tmax]) •例19.绘制如下参数方程的曲线图
t 10 x e y sin t cos t z t
(2)数值和符号计算
(3)工程与科学绘图
(4)控制系统的设计
(5)数字图像处理
(6)数字信号处理
(7)通讯系统设计与仿真
(8)财务与金融工程
3
实验方法
猜想验证求解发现
将数学和计算机技术结合创造性地解决实际问题
熟练掌握MATLAB的命令操作方式
掌握MATLAB程序设计方法
以MATLAB为操作平台完成各种不同的任务
14
MATLAB 程序中的流程控制
条件控制——有选择地运行程序块 1. if / elseif 语句 分析下列程序,说明运行结果及原因 clear a=100;b=10; if a<b disp('a<b') %显示字符串a<b else disp('a>b') %显示字符串a>b end
15
2. for循环 语法: for 变量 =初值:步长:终值
5 Peaks
0
-5 2 0 -2 y -2 x 2 0
34
•函数的曲线 • 使用ezplot和ezplot3函数,可 以方便的绘制二维和三维参数 曲线.
• ezplot函数调用格式:
•ezplot(f,[xmin,xmax,ymin,yma x]) •f是一个字符串 •ezplot(x,y,[tmin,tmax])
subplot命令实现图形窗口分割.在一个图形 窗口中显示几幅图象,对几个函数进行比较 subplot(m,n,i):把图形窗口分割为m行n列子窗 口,并选定第i个窗口为当前窗口。 subplot(2,2,1) subplot(2,2,2) subplot(2,2,3) subplot(2,2,4)
可执行语句
end
例5 求1+2+…+100(sum100.m) mysum=0; for i=1:1:100 mysum=mysum+i; end mysum
16
3. while循环
while循环将循环体中的语句循环执行不定次数。 语法: while 条件表达式 循环体语句 end 例6 求1+2+…+100(sum100w.m) mysum=0; i=1; while (i<=100) mysum=mysum+i; i=i+1; end mysum
MATLAB入门
肖剑 重庆大学数学与统计学院
1
MATLAB 简介
–MATLAB最初是20世纪70年代后期由 新墨西哥大学计算机科学系主任的Cleve Moler用Fortran语言设计的,现在的 MATLAB程序是1984年MathWorks公司 用 C语言开发的。
2
MATLAB的主要应用领域
(1)数值分析
(1) X, Y都是向量,且它们的长度相等;
(2)如果X和Y都是维数相同矩阵,按列与列对应绘图
20
plot(y): 以y的值为纵坐标,y的下标为横坐标。 plot(x,y): 以x为横坐标,以y为纵坐标
例7. x=0:0.1:2*pi; y=cos(x); plot(y)
figure, plot(x,y)
17
常用MATLAB指令
>> help sin >> type magic >> clear
>>clc
18
1 .算术运算符
+ ^ * / \ 加 减 矩阵幂 乘 右除 左除 .+ ..^ .* ./ .\ 点加 点减 点幂 点乘 点右除 点左除
2.关系运算符
< > 小于 大于 <= 小于等于 >= 大于等于
4
工作空间浏览
命令历史窗 口
命令窗口
MATLAB桌面
5
命令窗口、编辑窗口、图形窗口
6
变量
变量名的第一个字符必须是一个英文字母,最多
可包括31个字符; 变量名可由英文字母、数字和下划线混合组成; •在命令窗口中直接输入变量名称创建
•A=9 •A= • 9
7
数组的创建
1)数组构造:
常采用“first:increment:last”和函数 “linspace”两种方式来创建数组,如
25
3、图形保持
(1) hold on 保持当前图形, 以便继续画图到当前图上 hold off 释放当前图形窗口
例11 将y=sin(x)、y=cos(x)分别用点和线画出在同一屏幕上。
解
x=linspace(0,2*pi,30); y=sin(x); z=cos(x) plot(x,z) hold on plot(x,y)
11 返 回
矩阵--线性代数(二维数组)
创建矩阵(二维数组)的常用方法:
直接输入法三条规则: 矩阵元素必须在方括号[ ]之内; 同一行相邻元素间用逗号或空格分隔; 矩阵的行与行之间必须用分号分隔. 例3. 二阶矩阵 A=[1 2; 3 4]
A=
1 3 2 4
12
M文件分为命令文件和函数文件两种 命令文件(脚本式M文件) 无输入参数,不返回参数 对文件命名,保存在当前工作目录中. zyt.m
23
(3)
hh = gtext(‘string’)
命令gtext(‘string’)用鼠标放置标注在现有的图上. 运行命令gtext(‘string’)时,屏幕上出现当前图形,在
图形上出现一个交叉的十字,该十字随鼠标的移动移动,
当按下鼠标左键时,该标注string放在当前十交叉的位 置. 例9 在区间[0,2*pi]画sin(x),并分别标注“sin(x)” ”cos(x)”. 解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) gtext(‘sin(x)’);gtext(’cos(x)’)
30
例14 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x), a=sin(x)*cos(x),b=sin(x)/cos(x)。
解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)’)
26
同时绘制多条曲线 plot(x1,y1,x2,y2,…)
例12. 衰减振荡曲线函数: y=e -0.5x sin 5x图形.
x=0:0.1:4*pi; y= exp(-0.5*x) ;y1=y .*sin(5*x); plot(x,y1,x,y,’--r’,x,-y,’--r’)
27
• •
21
处理图形
1、在图形上图例和标注
(2)hh = xlabel(string): 在当前图形的x轴上加图例string hh = ylabel(string): 在当前图形的y轴上加图例string hh = zlabel(string): 在当前图形的z轴上加图例string
hh = title(string): 在当前图形的顶端上加图例string
plot(X,Y,s) s参数: - 实线 . 点 * 星号 ^ 上三角 : 点线 o 圆 s 方形 < 左三角 -. 点划线 x x符号 d 菱形 > 右三角 -- 虚线 + +号 v 下三角 p 正五边形 y 黄色 m 紫红色 c 蓝绿色 r 红色 g 绿色 b 蓝色 w 白色 k 黑色
上述参数的不同组合可以为图形设置不同的线形、 颜色和标识,调用时以单引号来引用,各选项直接相连, 不需要分隔符。
例16: • • • • •
>> >> >> >> >>
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)
33
•调用格式: • surf(x,y,z) —— 绘 制三维曲面图,x,y,z为图 形坐标向量 •例17: •[X,Y,Z]=peaks(30) •※peaks为matlab •自动生成的三维测试图形 •surf(X,Y,Z)