matlab编程基础与工程应用第六章课件

合集下载

matlab快速入手第六章PPT教学课件

matlab快速入手第六章PPT教学课件

例6-1 已知三角形三条边,求周长和面积。
2020/12/10
第2页
条件语句1
if语句 if语句的基本形式为:
if 逻辑表达式 语句 end
每条if语句必须伴随有一条end语句。end语句标志着逻 辑表达式为true时所要执行语句的结束。if和逻辑表达式 (其可以是一个标量、一个矢量或者一个矩阵)之间需要一 个空格。
2020/12/10
第8页
循环3
while循环 while循环的典型结构如下所示:
while 逻辑表达式 语句 end 要使while循环正常运行,必须发生以下这两个前提条件:
(1)在执行while语句之前,循环变量必须有一个值。 (2)语句必须以某种方式改变循环变量的值。 例
2020/12/10
2020/12/10
第11页
PPT教学课件
谢谢观看
Thank You For Watching
2020/12/10
第3页
条件语句2
“嵌套”if语句
if 逻辑表达式1 语句组1 if 逻辑表达式2 语句组2 end end
注意 每条if语句都尾随有
一条end语句。
2020/12/10
第4页
条件语句3
else语句 使用else语句的基本结构为:
if 逻辑表达式 语句组1 else 语句组2 end
例 6-5 ,0.09,0.85,0.06],假设数据在-0.1<x<0.1内的任何一个数值都不是正 确的,并删除这类元素而在数组的结尾处以0代替它们。
2020/12/10
第7页
循环2
break和continue语句
break语句停止循环的执行。 例 continue语句执行循环的下一次迭代。例

matlab第六章 字符串处理PPT教学课件

matlab第六章 字符串处理PPT教学课件
例如:
s1=‘welcome to hebei university ’
s2=‘you are welcome to my hometown’
s=[s1blanks(3);s2]
2020/12/10
4
7.2 字符串单元阵列 字符串单元阵列中每个元素均为字 符串,而且已经删除了末尾的空格。
1.利用cellstr函数可以方便的将字符 阵列变换成字符串单元阵列
2020/12/10
15
例1 混合频率信号成分分析,有一信号x由三种不同频率的正 弦信号混合而成,通过得到信号的DFT,确定出信号的频率 及其强度。程序如下
t=0:1/119:1; x=5*sin(2 * pi * 20 * t)+3*sin(2 * pi * 30 * t)+sin(2 * pi *45 * t); y=fft(x); m=abs(y); f=(0:length(y)-1)’*119/length(y); figure(1) Subplot(2,1,1),plot(t,x),grid on title(‘多频率混合信号’)
一、比较字符串是否相同 strcmp函数用于比较字符串是否相同 strcmpi函数用于比较时忽略大小写 strncmp函数用于比较两个字符串的前n个 字符是否相同 strncmpi函数比较时忽略大小写
2020/12/10
7
例如: s1=‘help’,s2=‘hello’,s3=‘Hello’ k1=strcmp(s1,s2) 则k1=0 k2=strcmpi(s1,s3) 则k2=1
字符与其ASCII码之间进行变换。 例如:
name=‘河北大学’ %字符串 a=double(name) %转变为ASCII码 name=char(a) %ASCII码转变为字符

matlab教程ppt(完整版)

matlab教程ppt(完整版)

矩阵的数学运算
总结词
详细描述
总结词
详细描述
掌握矩阵的数学运算,如求逆 、求行列式、求特征值等。
在MATLAB中,可以使用inv() 函数来求矩阵的逆,使用det() 函数来求矩阵的行列式,使用 eig()函数来求矩阵的特征值。 例如,A的逆可以表示为 inv(A),A的行列式可以表示 为det(A),A的特征值可以表 示为eig(A)。
• 总结词:了解特征值和特征向量的概念及其在矩阵分析中的作用。 • 详细描述:特征值和特征向量是矩阵分析中的重要概念。特征值是满足Ax=λx的标量λ和向量x,特征向量是与特征值对
应的非零向量。特征值和特征向量在许多实际问题中都有应用,如振动分析、控制系统等。
04
MATLAB图像处理
图像的读取与显示
变量定义
使用赋值语句定义变量,例如 `x = 5`。
矩阵操作
学习如何创建、访问和操作矩 阵,例如使用方括号 `[]`。
函数编写
学习如何创建自定义函数来执 行特定任务。
02
MATLAB编程
变量与数据类型
01
02
03
变量命名规则
MATLAB中的变量名以字 母开头,可以包含字母、 数字和下划线,但不应与 MATLAB保留字冲突。
了解矩阵的数学运算在实际问 题中的应用。
矩阵的数学运算在许多实际问 题中都有应用,如线性方程组 的求解、矩阵的分解、信号处 理等。通过掌握这些运算,可 以更好地理解和解决这些问题 。
矩阵的分解与特征值
• 总结词:了解矩阵的分解方法,如LU分解、QR分解等。
• 详细描述:在MATLAB中,可以使用lu()函数进行LU分解,使用qr()函数进行QR分解。这些分解方法可以将一个复杂的 矩阵分解为几个简单的部分,便于计算和分析。

Matlab基础及其应用 ppt课件

Matlab基础及其应用 ppt课件

5
上机安排
从9月21日(也就是下个星期四)起,每个星 期四安排为上机时间。
上机地点:主楼东312(物电机房) 上机时间:18:00~20:00
20:00~22:00
2021/3/26
Matlab基础及其应用 ppt课件b 概述与入门; 2. 数据类型和运算; 3. 数值计算; 4. 符号运算; 5. 数据和函数的可视化; 6. Matlab编程;
指令输入提示符 >> (12+2*(7-4))/3^2
ans =
2 >>
8. 源程序的开放性。
2021/3/26
Matlab基础及其应用 ppt课件
13
线性方程组求解
a11x1 a12x2 a1nxn b1 a21x1 a22x2 a2nxn b2 an1x1 an2x2 annxn bn
当D=|A|≠0, 方程组有解,可 用Cramer法则 求解。
50
20 12 45
A=[4 2 3;1 3 2;1 3 3;3 2 2]; B=[35 20 60 45;10 15 50 40; …20 12 45 20]; C=A*B
C=
45
40
220 146 475 320 105 89 300 205
20
125 101 345 225 165 114 370 255
-2
0
-4 -5
1
0 .5
0
-0 .5
-1 4
2
5
0 -2
0
-4 -5
4
3
2
1
0
-1
-2
-3
-4
-4
-2
0

matlab教程ppt(完整版)

matlab教程ppt(完整版)
matlab教程 PPT(完整版)
汇报人:可编辑
2023-12-24
目录
• MATLAB基础 • MATLAB编程 • MATLAB矩阵运算 • MATLAB数值计算 • MATLAB可视化 • MATLAB应用实例
01
CATALOGUE
MATLAB基础
MATLAB简介
MATLAB定义
MATLAB应用领域
菜单栏
包括文件、编辑、查看、主页 、应用程序等菜单项。
命令窗口
用于输入MATLAB命令并显示 结果。
MATLAB主界面
包括命令窗口、当前目录窗口 、工作空间窗口、历史命令窗 口等。
工具栏
包括常用工具栏和自定义工具 栏。
工作空间窗口
显示当前工作区中的变量。
MATLAB基本操作
变量定义
使用变量名和赋值符号(=)定义变 量。
详细描述
直接输入:在 MATLAB中,可以直 接通过输入矩阵的元 素来创建矩阵。例如 ,`A = [1, 2, 3; 4, 5, 6; 7, 8, 9]`。
使用函数创建: MATLAB提供了多种 函数来创建特殊类型 的矩阵,如`eye(n)`创 建n阶单位矩阵, `diag(v)`创建由向量v 的元素构成的对角矩 阵。
使用bar函数绘制柱状图 ,可以自定义柱子的宽
度、颜色和标签。
使用pie函数绘制饼图, 可以自定义饼块的比例
和颜色。
三维绘图
01
02
03
04
三维线图
使用plot3函数绘制三维线图 ,可以展示三维空间中的数据
点。
三维曲面图
使用surf函数绘制三维曲面图 ,可以展示三维空间中的曲面

三维等高线图

MATLAB教程-第六章

MATLAB教程-第六章
➢ zi = interp2(x,y,z,xi,yi),x,y,z为原始数 据,返回值zi是插值结果;
➢ zi = interp2(z,xi,yi) , 若 z=n×m , 则
x=1:n,y=1:m; ➢ zi = interp2(x,y,z,xi,yi,method) ,
method用于指定插值的方法 。
Hale Waihona Puke 2021/3/7CHENLI
32
2021/3/7
CHENLI
33
运行结果如下图所示。
2021/3/7
CHENLI
34
6.3 数 据 分 析
6.3.1 基本数据分析函数 6.3.2 协方差和相关系数矩阵 6.3.3 有限差分和梯度 6.3.4 信号滤波和卷积 6.3.5 傅立叶变换
2021/3/7
CHENLI
25
插值是根据已知输入/输出数据集和当 前 输 入 估 计 输 出 值 。 MATLAB 提 供 大 量 的 插值函数,如下表所示。
插值函数
2021/3/7
CHENLI
26
6.2.1 一维插值
一维插值就是对函数y=f(x)进行插值, 一维插值的原理如下图所示。
2021/3/7
CHENLI
27
函数interp1()实现一维插值,其具体使 用方法如下:
➢ yi=interp1(x,y,xi),x,y是已知数据集 且具有相同长度的向量;
➢ yi = interp1(y,xi),默认x为1:n,其中n 为向量y的长度;
➢ yi = interp1(x,y,xi,method),method 用于指定插值的方法。
2021/3/7
CHENLI
22

MATLAB第六章1

G0 Gc ( s ) 1G0 s ) den0 ( s )
对系统进行仿真,执行下面的M文件: EXP4.M num0=20; den0=[1 8 36 40 0]; t=1:0.1:10; numc=num0; denc=[zeros(1,length(den0)-length(num0)),num0]+den0; numc denc tf(numc,denc) [y,T,x]=step(numc,denc,t); plot(t,y,t,x); title('The Step Response') xlabel('Time_Sce'); text(4,1.5,'The Output'); text(5,6.5,'The State')
运行结果如右图:
例3:一伺服系统的方框图如图所示,求d和e的值,使系统的阶跃响 应满足:(1)超调量不大于40%,(2)峰值时间为0.8s。 由控制理论可知,对于二阶系统,
R(s)
d s ( s 1)
计算超调量和峰值时间的公式如下:

C(s)
e
由此得:
1 2
100,
tp
n 1 2
当初始状态x0=[1 0 0]T时,求该系统的零输入响应。 执行程序如下:
A=[1 –1 0.5;2 –2 0.3;1 –4 –0.1];
B=[0 0 1]’; C=[0 0 1]; D=0;
x0=[1 0 0]’; t=0:0.1:20; initial(A,B,C,D,x0,t)
运行结果如下图:
grid on title('Bode Plot'); xlabel('Frequency(rad/sec)'); ylabel('Gain dB'); text(5.5,4.5,'0.1'); subplot(2,1,2); grid on xlabel('Frequency(rad/sec)'); ylabel('Phase deg'); text(4,-20,'0.1'); text(2.5,-90,'2.0'); 2) 极坐标图(奈奎斯特图)

精品课件-MATLAB 8.X程序设计及典型应用-第6章

20
第6章 数据和函数的可视化
比如A(2,3)、B(pi/3,2)分别为直角坐标系内和极坐标系 内的两点,执行转换函数可以分别获得其对应于极坐标和直角坐 标内的坐标:
>> [Th,R]=cart2pol(2,3) Th =
0.9828 R=
3.6056 >> [x,y]=pol2cart(pi/3,2) x=
9
第6章 数据和函数的可视化
图6.2 指令plot()对输入变量为矩阵的执行结果
10
第6章 数据和函数的可视化
【例 6-3】 指令 plot()执行三元组实例:绘制曲线 y x2 sin x ,其中 x [0,6] 。 编写文件名为 exm6_3 的脚本文件:
clear %绘制一条曲线 x=linspace(0,6,20); y=x.^2.*sin(x); figure(1) plot(x,y) %绘制多条曲线 figure(2) y1=y+2; y2=y-2; plot(x,y,x,y1,'k-.*',x,y2,':x')
clear
x=linspace(0,10,100);
y=x.^3+x.^2-2*x+6;
figure(1);
semilogy(x,y);
%y 轴用以 10 为底的对数刻度标定的半对数坐标系绘图
grid on
figure(2);
loglog(x,y);
%全对数坐标系绘图
grid on
在指令窗中执行文件 exm6_6.m,运行的结果如图 6.6 所示。
向量r为极径。字符串's'的含义与指令plot()中的相同,s缺省 时为蓝色细实线“b-”。

MATLAB与计算机仿真课件第6章 MATLAB数值运算

f (x) x3 2x2 3x 4
f '( x) 3x2 4x 3
polyder(p)的运算结果为[3 4 3]
三、多项式的求解
2、多项式的求根 格式: roots(p) (由多项式求根) 例如:p=[1 3 2]; roots(p)的运算结果为[-2 ; -1 ] 格式: poly(r) (由根求多项式)
2
A=[1,2,3;2,3,4]; B=[1;2]; X=pinv(A)*B XX=A\B
四、相关与卷积
对两组数据(或两个信号),可求其相关、协方差和卷积等
1、求协方差:
cov(x)
求x 的协方差阵
cov(x,y)
求x ,y的协方差
2、求相关系数
corrcoef(x) 求x的自相关阵
corrcoef(x,y) 求x,y的互相关系数
2
3
x1
4 x3
5
A=[1,2;2,3;3,4]; B=[1;2;5]; X=pinv(A)*B XX=A\B
3、欠定方程组的解 (有无穷多个解 )
有两种求解方法: (1) X= pinv(A)*B (具有最小长度或范数的解) (2) X=A\B (具有最多零元素的解)
例题:
x1 2x2 3x3 1 2x1 3x2 4x3
1、恰定方程组的解 (有唯一的一组解)
AX B ➡ A1AX A1B ➡ X A1B A \ B
有两种求解方法:(1) X= inv(A)*B (速度较慢) (2) X=A\B (速度快,精度高)
例:
x1 2x2 8 2x1 3x2 13
A=[1,2;2,3]; B=[8;13]; X=inv(A)*B XX=A\B
( sa+sb)= (1,1)

Matlab6-绘图(共49张PPT)

共四十九页
6.2.2其他(qítā)坐标系的绘图命令
3)双y轴坐标绘图
plotyy(x1,y1,x2,y2) 在左边y轴画出x1对应于y1的图,用右边y
轴画出x2对应于y2的图
例6.12:用不同(bù tónɡ)的标度在同一坐标系绘制

图像
x=linspace(-2*pi,2*pi,200);
y1=exp(-x).*cos(4*pi*x);
共四十九页
6.2.2其他(qítā)坐标系的绘图命令
2)半对数坐标绘图 semilogy(x,y) 绘制(huìzhì)线性刻度x轴和以10为底y轴的半对数坐
标曲线
例6.11:绘制y= 图像
x=0:0.01:1; y=10.^x; subplot(1,2,1),semilogy(x,y)
subplot(1,2,2),plot(x,y)
共四十九页
例6.9:
共四十九页
>> syms x y t
f1=exp(2*x)*sin(2*x) f2=x^2-y^4 f3=log(abs(sin(x)+cos(y))) X=exp(t)*cos(t),Y=exp(t)*sin(t) subplot(2,2,1),ezplot(f1,[-pi,pi])
grid on(off) 打开、关闭(guānbì)坐标网格线 legend 添加图例 axis 控制坐标轴的刻度
共四十九页
例6.14:
t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi]; y=[-0.3;0.8]; s=['sin(t)';'cos(t)']; text(x,y,s); title('正弦和余弦曲线(qūxiàn)'); legend('正弦','余弦') xlabel('时间t'),ylabel('正弦、余弦') grid
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
y=polyval(p,x); 按照数组规则计算已知 x时,多项式p 的值。polyval函数用来计算多项式在给定变量时的值。
>> vx=polyval(o,x) 则计算多项式的值 vx = 7 11 17 25
%polyval函数实质是按照数组运算规
V=polyvalm(p,X);按矩阵运算规则计算多项式p的 值,且X只能是方阵。
6.3.1 多项求拟合
【例 6.3-1 】设 x 为 [1.007 0.555 0.540 0.299 0.241 0.209 0.194 0.180 0.180 0.185 0.194 0.199 0.226 0.421 0.630 0.659 0.720 0.720 0.698 0.698 0.705 0.727 0.744 ] , y 为 [0.639 -0.511 -0.334 -0.130 0.009 0.221 0.137 0.083 0.050 0.037 0.029 0.035 0.077 0.470 1.028 1.035 1.109 1.494 1.449 1.448 1.307 1.251 1.235 ],实现多项式拟合。
>> s1= polyint(p) % 积分并常数项默认为0 s1 = 1 1 0 >> str1=poly2str(s1,'x') %将多项式转换为x的字符串 str1 = x^2 + x >> k=3; %积分常数项k=3 >> s2= polyint(p,k) s2 = 1 1 3 >> str2=poly2str(s2,'x') str2 = x^2 + x + 3
MATLAB使用polyint()函数计算多项的积分,它的语法为: polyint(p,k);返回多项式 p的积分,k作为积分后的常数项(因为对多项式 积分后常数项不确定)。其中p是多项式系数组成的行向量,k是一个标量。 polyint(p);返回多项式p的积分,默认积分后的常数项k为0。 【例6.1-8】计算多项式2x+1的积分。 【解】 >> p=[2,1]; % p=2x+1
图6-3 插值结果
6.4 应用实例——湿度曲线拟合
气象部门观测到郑州地区一天某些时刻的相对湿度(相对湿度:空气中实 际水汽压与当时气温下的饱和水汽压之 6 42 8 43 10 40 12 35 14 29 16 29 18 31 20 31 22 30
图 6-2 曲线拟合结果
为了方便用户使用,MATLAB提供了支持曲线拟合的图形用户接口。 它位于“Figure”窗口的“Basic Fitting”菜单。如图6-3所示。点击该 菜单进入“ Basic Fitting ”窗口,点击窗口右下角的向右按钮“ ” (如图6-4所示)可以得到“Basic Fitting”窗口的全貌,如图6-5所示。
6.1.4 多项式的部分分式展开
又例如:
>> b=[1,4,0,0]; >> a=[1,3,2,0]; >> [r,p,k]=residue(b,a) r = 4 -3 0 p = -2 -1 0 k = 1
6.1.5 多项式的求导
指令D=polyder(p),可以实现多项式的求导。
6.1.6多项式的积分
z=polyval(p,ti); %多项式求值 plot(t,y,'-o',ti,z,'-*') legend('原始数据','3阶曲线') 运行example64.m,结果为: p = 0.0127 -0.4756 4.4624 28.6960 PP = 0.012659 t^3 - 0.47555 t^2 + 4.4624 t + 28.696 n=3时拟合结果如图6-4所示。
运行后结果为:
>> example62_2 KV = Columns 1 through 11 5 6 7 8 15 Columns 12 through 17 16 17 18 19
9
10
11
12
13
14
20
21
V = Columns 1 through 11 1 2 3 4 8 7 Columns 12 through 17 6 5 4 3
y3 = 0 1.3694 -3.7563 6.5323 0.4044 0.8415 0.4234 -1.2581 -3.0272 -1.6765 1.4396 4.5989 3.7091 -0.1333 -5.4402 1.4431 -4.2031 6.7993 1.8186 -4.7946 7.9149
MATLAb 编程基础与工程应用
机械工业出版社 王敏杰 朱连轩 潘金凤
第六章 MATLAB数值计算
MATLAB提供了标准多项式的运算函数,如多项式求 根、展开、相乘、除法。另外还提供更高级的曲线拟合函数。
6.1 多项式计算
6.2 卷积
6.3 曲线拟合与函数插值
6.4应用实例——湿度曲线拟合
6.1 多项式计算
6.2 卷积
6.2.1 多项式的乘法
两多项式相乘,可以利用R=conv(p1,p2)来实现。
(程序example62_2.m)
n1=3;n2=12; m1=2;m2=9; A=ones(1,(n2-n1+1)); B=ones(1,(m2-m1+1)); V=conv(A,B); Nv1=n1+m1;Nv2=n2+m2; KV=Nv1:Nv2; KV V stem(KV,V) %生成序列A %生成序列B %得到卷积序列V %确定序列所在区间
湿度% 30
试描绘出温度变化曲线。 解:假设湿度为y,时间为t,用多项式拟合函数p=polyfit(t,y,n)进行拟合。 (程序见example64.m) t=[0,2,4,6,8,10,12,14,16,18,20,22,]; y=[30,34,38,42,43,40,35,29,29,31,31,30]; n=3; p=polyfit(t,y,n) PP=poly2str(p,'t') ti=linspace(0,24,100);
在“Basic Fitting”全貌窗口的“Plot fits”复选框中选择“6th degree polynomial” 项;然后再单击“Plot residuals”单选框,使之处于在选上状况;最后把“Plot residuals”(残留误差)单选框正下方的下拉列表选为“Scatter plot”。上述操 作完成后,“Figure”窗口会出现拟合好的数据,并且绘出了拟合数据的残留误 差 residuals ,如图 6-6 所示。同时拟合结果也在“ Basic Fitting ”的“ Numerical results”中显示。
6.3.2 函数插值
插值与拟合的区别在于:如果要求曲线通过所有给 定的数据点,就是插值问题;如果不要求曲线通过所有 数据点,而是反映对象的整体变化趋势,就是拟合。 MATLAB 插 值 计 算 的 函 数 有 interp1 ( 一 维 插 值 ) 、 interp2(二维插值)、interp3(三维插值)和interpn (n维插值)。一维插值函数的语法为: yi=interp1(x,y,xi,’method’); 其中 x 和 y 是已知的样本点数据; xi 是要内插的数据点, yi 是 xi 对应的函数值; method 是内插的指定算法,可以 选 择 最 近 邻 点 插 值 ( ’nearest’ ) 、 线 性 插 值 (’linear’)、样条函数插值(’ spline’)、立方 插值(’cubic’),如果method缺省,默认为线性插值。
【例6.3-2】一维插值举例,y为x与sin(x)积,每间隔0.25为y插值。 (程序见example63_2.m) x=0:10;y=x.*sin(x); x1=0:0.5:10; y1=interp1(x,y,x1) y2=interp1(x,y,x1,'spline') y3=interp1(x,y,x1,'cubic') plot(x1,y1,x1,y2,'-s',x1,y3,'-*') legend('-,linear','-s,spline','-*,cubic') 运行example63_2.m y1 = 0 0.4207 0.8415 1.3300 1.8186 1.1210 0.4234 -1.3019 -3.0272 -3.9109 -4.7946 -3.2356 1.6765 1.4612 4.5989 6.2569 7.9149 5.8120 3.7091 -0.8656 -5.4402 y2 = 0.4234 1.6765 3.7091 0 0.2145 0.8415 1.5024 1.8186 1.4767 -1.2367 -3.0272 -4.3879 -4.7946 -3.8560 1.4040 4.5989 7.0318 7.9149 6.6999 -0.5176 -5.4402
图6-4 n=3时拟合结果
令example64.m中的n=5,即做5阶拟合结果如图6-5所示。
p = -0.0002 0.0125 -0.2277 1.4012 -0.5766 30.2579 PP = -0.00022831 t^5 + 0.012532 t^4 - 0.22774 t^3 + 1.4012 t^2 - 0.57658 t + 30.2579
(程序example63_1.m)
clear all x = [1.007 0.555 0.540 0.299 0.241 0.209 0.194 0.180 0.180 0.185 0.194 0.199 0.226 0.421 0.630 0.659 0.720 0.720 0.698 0.698 0.705 0.727 0.744 ]; y = [0.639 -0.511 -0.334 -0.130 0.009 0.221 0.137 0.083 0.050 0.037 0.029 0.035 0.077 0.470 1.028 1.035 1.109 1.494 1.449 1.448 1.307 1.251 1.235 ]; p = polyfit(x,y,6); %6为拟合多项式的阶数 x1= 0.0011:0.0001:1.1; y1= polyval(p,x1); plot(x,y,'*r',x1,y1,'-b')
相关文档
最新文档