matlab第3讲

合集下载

【matlab教学PPT】第3讲 Matlab的图形

【matlab教学PPT】第3讲 Matlab的图形


ylabel(′y=sin2\pix′);%Y轴标注,可以有汉字 xlabel(′x′);%X轴标注,可以有汉字
第3讲 Matlab的图形 title(′functionploty=sin2\pix′);%图标题 text(0.5,sin(0.5),′\leftarrowsin2\pi0.5′);
第3讲 Matlab的图形 [例3] t=0:pi/20:2*pi; plot(t,sin(2*t),′-mo′,...%线型:实线,洋红色,小圆标记
′LineWidth′,2,...%线宽为2
′MarkerEdgeColor′,′k′,...%标记边缘颜色:黑色 ′MarkerFaceColor′,[.49 1 .63],...%标记面颜色:淡 绿 ′MarkerSize′,12)%标记大小:12 结果如图3所示。
6)坐标颜色控制 set(gca,′Color′,′y′)%坐标面背景颜色设置,本例为:黄 set(gca,′XColor′,′k′)%设置横坐标轴,刻度,字符的颜

set(gca,′YColor′,′r′)%设置纵坐标轴,刻度,字符的颜 色
第3讲 Matlab的图形 7)坐标刻度字形的控制 set(gca,′FontSize′,14)%控制字体大小
set(gca,′FontWeight′,′bold′)%设置字体粗细
%有{normal}|bold|light|demi四种 8)坐标位置和方向控制
set(gca,′XAxisLocation′,′top′)% 横 坐 标 轴 位 于 下 方 (bottom默认)
或上方(top)set(gca,′YAxisLocation′,′right′)%纵坐标轴 位于左方(left默认)或右方(right)set(gca,′XDir′,′reverse′)% 横坐标反方向(由右到左为增)set(gca,′YDir′,′reverse′)%纵 坐标反方向(由右到左为增)

第3讲Matlab的变量与矩阵

第3讲Matlab的变量与矩阵
A=[2 2; 2 2] B=[4 4;4 4]; A.*B=[8 8; 8 8] B.^A=[16 1 ;16 16] A.\B=[2 2;2 2] A./B=[0.5000 0.5000;0.5000 0.5000]
05:44
22/35
系统仿真
八、逻辑运算
MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)
05:44
11/35
系统仿真
三、矩阵的元素提取与拆分
1、用矩阵元素的序号来引用矩阵元素。 矩阵元素的序号就是相应元素在内存中的排
列顺序。在MATLAB中,矩阵元素按列存储,先 第一列,再第二列,依次类推。
例如:A=[1,2,3;4,5,6]; A(3) ans =2
显然,序号(index)与下标(subscript )是一一对 应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号 为(j-1)*m+i。其相互转换关系也可利用sub2ind和 ind2sub函数求得。

05:44
14/35
系统仿真
五、特殊矩阵(1)
1、魔术矩阵 魔术矩阵有一个有趣的性质,其每行、每列及两条对角
线上的元素和都相等。对于n阶魔术矩阵,其元素由 1,2,3,…,n×n共n×n个整数组成。MATLAB提供了求魔方 矩阵的函数magic(n),其功能是生成一个n阶魔方阵。 magic(n) n×n的魔术矩阵
一个逻辑运算函数: xor(异或)
逻辑运算的运算法则为:
(1) 在逻辑运算中,确认非零元素为真,用1表示,零元素 为假,用0表示。 (2) 设参与逻辑运算的是两个标量a和b,那么,
a&b a,b全为非零时,运算结果为1,否则为0。 a|b a,b中只要有一个非零,运算结果为1。 ~a 当a是零时,运算结果为1;当a非零时,运算结果 为0。

matlab教程(第3讲-数组)

matlab教程(第3讲-数组)
2016/11/22 Application of Matlab Language 3
2.1数值表示、变量及表达式 (续)
运算符和表达式
运算
加 减 乘 除 幂
数学表达式
a+b a-b axb a/b或a\b
MATLAB运算符
+ * /或 \ ^
MATLAB表达式
a+b a-b a*b a/b或a\b a^b
第二种方法:使用冒号“:”操作符
〘例2-2〙创建以1~10顺序排列整数为元素的 行向量b。>>b=1:10 b=1 2 3 4 5 6 7 8 9 10
2016/11/22 Application of Matlab Language 10
所有的向量元素必须在操作符“[ ]”之内; 向量元素间用空格或英文的逗点“,”分开。
计算
z
z3
z1=3+4*i, z2=1+2*i, z3=exp(i*pi/6), z=z1*z2/z3 z_real=real(z), z_image=imag(z), z_angle=angle(z), z_length=abs(z),
2016/11/22
Application of Matlab Language
第四种方法:利用函数logspace 列向量的创建
通过实验认识该函数的功能。
使用方括号“[ ]”操作符,使用分号“;”分 割行。
〘例2-5〙键入并执行x= [1; 2; 3] X=1 2 3
使用冒号操作符
〘例2-6〙键入并执行x= (1:3)‟ % “ ‟ ”表示矩阵的转 置
2016/11/22 Application of Matlab Language 13

第3讲matlab的符号运算

第3讲matlab的符号运算

第三讲 MATLAB 的符号运算(注:文中红色字体为命令执行的结果,在Command 窗口中显示)3-1 符号对象的创建和使用1.符号运算入门符号运算的特点是,运算过程中允许存在非数值的符号变量。

先看如下示例: 函数2)(sin )(x x f =,用MATLAB 求它的微积分,命令如下:f=’sin(x)^2’; %定义符号函数f(x)dfdx=diff(f) %求dxx df )(的指令 intf=int(f) %求⎰dx x f )(的指令显示的计算结果为:dfdx=2*sin(x)*cos(x)intf=-1/2sin(x)*cos(x)+1/2*x 所以,x x dx x df cos sin )(2=,x x x dx x f cos sin )(2121-=⎰。

此例中,首先定义符号函数f=’sin(x)^2’,然后由符号运算获得2)(sin )(x x f =的微分和积分。

2.定义符号变量在使用符号变量之前,应先声明某些要用到的变量是“符号”变量。

声明符号变量的语句:syms 变量名列表或: sym(‘变量名’)其中各个变量名应该用空格分隔,而不能用逗号分隔。

如创建符号变量x 和a :x=sym(‘x ’)a=sym(‘alpha ’)或用: syms x a %定义符号变量x 和a这里,变量x 和a 的类型是符号对象,它们被定义后,即可参与符号运算。

3.定义符号表达式和符号方程符号表达式和符号方程是两种不同的操作对象。

区别在于:符号表达式不包含等号(=),而符号方程须带等号。

它们的创建方式相同。

如:要考虑二次函数f=ax^2+bx+c ,可以创建符号表达式,赋值给符号变量f 。

f=sym(‘a*x^2+b*x+c ’)或:f=‘a*x^2+b*x+c’此例中,将符号表达式赋给符号变量f,但这不是必需的,引入符号变量是为了以后调用方便。

在这种情况下,没有创建对应于表达式中a、b、c、x项的变量,为了执行符号数学运算(如微分、积分等),必须显式地创建这些变量,可用下列命令创建:syms a b c x如下例中创建了符号表达式和符号方程,分别赋给相应的符号对象。

matlab第3章

matlab第3章

第7章MATLAB科学计算¾方程求解¾概率统计¾插值、拟合¾数值微积分¾最优化求解其它常用的matlab 数值计算命令¾max,min¾mean, median¾sum 求和, prod 求积¾cumsum 求和, cumprod 求积¾std 标准方差¾corrcoef 相关系数¾sort 元素排序¾离散傅里叶变换fft,fft2,fftn__ifft第7章MATLAB 数值计算作业¾1.编写傅立叶变换的matlab 程序与matlab 自带的fft 进行比较,并分析冲击信号的傅立叶变换。

(若不了解冲击信号,可计算方波的傅里叶变换,方波幅度为1,周期为10,方波个数为10,占空比为0.5)。

∑=−−−=Nm Nk m j em f k F 1/)1)(1(2)()(π编写的DFT 函数:function X=mydft(x )N = length(x );W=exp(-2*i*pi/N);X=zeros(1,N);for k=1:NX(k )=sum(x .*W.^((0:N -1)*(k -1)));end∑=−−−=N m N k m j em f k F 1/)1)(1(2)()(πx = [0 0 0 0 0 1 1 1 1 1]; X = [x x x x x x x x x x]; y = mydft(X);plot(abs(y))y1=fft(X);plot(abs(y1));¾y = fftshift(mydft(X));¾>> plot(abs(y))第3章MATLAB符号计算¾Maple优势在于符号运算,¾Mathematic符号运算和数值计算均不差,图像处理或者数据可视化较差¾Matlab强项是数值计算和数据可视化,¾MathCAD各方面均弱一些,但易学。

MATLAB第3讲 MATLAB基本绘图

MATLAB第3讲 MATLAB基本绘图

3.3 基本三维绘图
[X,Y]=meshgrid(-8:0.5:8,-8:0.5,8);
3.3 基本三维绘图
2、格式2:mesh(x,y,z) 功能:x,y,z 为三个矩阵, 以各元素值为三维坐标点绘图, 并连成网格。
3.3 基本三维绘图
例题 7 画一个球体 [xx,yy,zz]=sphere(30);
0
n
3.3 基本三维绘图
形成了33*33网 格矩阵
3.3 基本三维绘图
可以使用meshgrid()函数产生网格坐标:
格式:[X,Y]=meshgrid(x,y) x,y为同维向量,
X的行为x的拷贝,Y的列是y的拷贝,X,Y同维 例如:[xx,yy]=meshgrid([ 1 2 3 4],[1 2 3 4])
3.3 基本三维绘图
3、格式3:plot3(x,y,z,’s’) plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’) 功能:用于设置绘图颜色和线型 字符串意义同plot。
例如:plot3(x,y,z,’*r’,x,z,y,’:b’)
3.3 基本三维绘图
例题 2
3.3 基本三维绘图
3、hidden on(off) ----隐藏或透视被遮挡的地方
视角变换与三视图
三维图形绘制中的视角定义
z轴
视点
y轴
仰角
方位角
x轴
3.3 基本三维绘图
3. 4 特殊三维绘图 特殊图形库(specgraph)
1、stem3(x,y,z) ----- 三维火柴杆图: 例如:stem3(x,y,z) 2、bar3(z) ------ 三维条形图(同二维) 例如:bar3([1 2 3 2 1]) 3、pie3 (x,p)------ 三维饼图(同二维): 例如:pie3([1 2 3 2 1 1 ],[0 0 1 0 0 0]) 还有其它特殊函数。。。

第3讲 插值

第3讲 插值

39
再输入以下命令: xi=1:0.2:5; yi=1:0.2:3; zi=interp2(x,y,temps,xi',yi,'cubic'); mesh(xi,yi,zi) 画出插值后的温度分布曲面图.
To MATLAB (wendu)
三次样条插值
比分段线性插值更光滑。
y
a
xi-1 xi
bx
在数学上,光滑程度的定量描述是:函数(曲 线)的k阶导数存在且连续,则称该曲线具有k阶光 滑性。
光滑性的阶次越高,则越光滑。是否存在较低 次的分段多项式达到较高阶光滑性的方法?三次 样条插值就是一个很好的例子。
.
21
三次样条插值
S (x ) { s i(x )x ,[x i 1 ,x i]i ,1 , n }
1.先在三维坐标画出原始数据,画出粗糙的温度分布曲图.
输入以下命令: x=1:5; y=1:3; temps=[82 81 80 82 84;79 63 61 65 81;84 84 82 85 86]; mesh(x,y,temps)
2.以平滑数据,在x、y方向上每隔0.2个单位的地方进行插值.
.
注意:(x, y)当然应该是在插值节点所形成的矩形区
域内。显然,分片线性插值函数是连续的; 返回
.
36
双线性插值
y•
(x1•, y2) (x2,•y2)





••
(x1, y1) (x2, y1)



••
O
x
双线性插值是一片一片的空间二次曲面构成。
双线性插值函数的形式如下:
f(x ,y ) (a x b )c ( y d )

(完整版)matlab第三讲教案

(完整版)matlab第三讲教案

西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第三章课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求掌握matlab中内置的初等数学函数、三角函数、数据分析函数等函数的运用。

二、教学重点与难点本堂课教学的重点在于引导学生在命令窗口进行一些简单的计算,对matlab初等的数学函数能够熟练运用,并能写一些matlab的简单程序解决实际问题。

三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。

四、教学内容一、课程内容回顾上节课主要学习了数据显示格式、复数的运算、算术运算等。

(1)短数据格式和长数据格式之间的显示切换(2)15+16i,求该复数的模和辐角,实部与虚部(3)[1:3;2:4;3:5],求矩阵的转置初等数学函数包括对数函数、指数函数、绝对值函数、四舍五入函数和离散数学中的函数。

我们今天课程的任务就是掌握这些函数的运用。

二、常用的数学函数练 习创建矢量x,在-9到12之间,步长为3 (1)求x 除以2的商 (2)求x 除以2的余数 (3)e x(4)求x 的自然对数ln(x) (5)求x 的常用对数lg(x)(6) 用函数sign 确定矢量x 中哪些元素为正 (7)将显示格式变为rat ,显示x 除以2的结果 Eg: x=-9:3:12;(1) x/2;(2) rem(x,2);(3)exp(x);(4)log(x );(5)log10(x);(6)sign(x);(7)format rat;x/2三、取整函数Matlab 中有几种不同的取整函数。

其中最常用的是四舍五入。

然而取上近似还是取下近似要根据实际情况而定。

例如,在杂货店买水果,苹果0.52美元一个,5美元能买几个?5.009.61540.52/=苹果苹果但是在现实生活中,显然不能买半个苹果,而且也不能四舍五入到10.所以,只能向下取近似值9.四、离散数学中的函数离散数学就是有关数的数学,也就是中学代数里的因式分解、求最大公因数和最小公倍数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013-7-9
Matlab Language
23
5、多维数组 (续) 将两个二维(平面)数组叠在一起,就构成 三维数组,第三维称为「页」(Page),如下 图所示:
(1,1) (1,2) (2,2) (3,2) (1,3) (2,3) (3,3) (1,4) (2,4) (3,4)
数组元素可以被任意重复访问,构成长度大于原数组的 新数组。
>>a(6)
??? Index exceeds matrix dimensions. 下标值超出了数组的维数,导致错误
>>a(2.1)
??? Subscript indices must either be real positive integers or logicals. 下标值只能取正整数或逻辑值
2013-7-9
Matlab Language
9
2.2.3、创建二维数组变量(续)
【例3-5】 reshape的使用演示 >>a=-4:4
a= -4 -3 -2 -1 0 1 2 3 4
>>b=reshape(a, 3, 3)
b= -4 -1 2 -3 0 3 -2 1 4
数组元素的排列顺序,从上到下按列排列,先排 第一列,然后第二列,… 要求数组的元素总数不变。
2013-7-9
Matlab Language
16
4、数组元素的标识与寻访 (续)
【例4-3】二维数组元素与子数组的寻访与赋值
>>a_2=zeros(2, 4) %创建2x4的全0数组 a_2 = 0 0 0 0 0 0 0 0
>>a_2(:)=1:8
a_2 = 1 3 2 4 ans = 2 5
【例2-7】键入并执行 a=[0 1+6]; b=[a 6 7]; c=[6 a 7]; d=[6 a 7 a];
2013-7-9
Matlab Language
6
2.2.2、创建一维数组变量 (续)
一旦被创建,变量就被存储在工作空间,可 以通过“Workspace”窗口或在“Command Window”执行“whos”命令察看。
【例2-5】键入并执行x= [1; 2; 3] X=1 2 3
使用冒号操作符
【例2-6】键入并执行x= (1:3)‟ 置
2013-7-9
% “ ‟ ”表示矩阵的转
Matlab Language
5
2.2.2、创建一维数组变量 (续)
创建数组变量的一般方法
创建变量的赋值语句的一般格式
var=expression var为变量名 expression为MATLAB合法表达式 可以是单独的常数值或数值数组; 也可以由常数值、其他变量(部分或全部)、 数值数组和运算符(+、-等)构成。
18
4、数组元素的标识与寻访 (续)
>>a_2(:,end)
ans = 7 30
>>a_2(end,:)
ans = 10 1 1 30
>>a_2(end,[2:4])
ans = 1 1 30
>>a_2(:,end-1)
ans = 1 1
>>a_2 ([4 6])=6:7
a_2 = 1 1 1 7 10 6 7 30
2013-7-9
Matlab Language
21
4、数组元素的标识与寻访 (续) 单下标到双下标的转换
【例4-6】 ind2sub函数-单下标转换为双下标
>>b = zeros(3); >>b(:) = 1:9
>>IND = [3 4 5 6]
>>[I,J] = ind2sub(size(b),IND)
2013-7-9
Matlab Language
3
2.2.2、创建一维数组变量(续)
第三种方法:利用函数linspace
函数linspace的基本语法 x= linspace(x1, x2, n)
该函数生成一个由n个元素组成的行向量; x1为其第一个元素; x2为其最后一个元素; x1、x2之间元素的间隔=(x2-x1)/(n-1)。 如果忽略参数n,则系统默认生成100个元素的行向量。
2013-7-9
Matlab Language
20
4、数组元素的标识与寻访 (续)
双下标到单下标的转换
【例4-5】 sub2ind函数-双下标转换为单下标
>>A = [17 24 1 8; 2 22 7 14; 4 6 13 20]; >>sub2ind(size(A),2,2) >>A(5)
【例4-1】单下标的使用 >>a=zeros(2, 5); >>a(:)=-4:5
a= -4 -2 0 2 4 -3 -1 1 3 5 注意数组的排列顺序。
2013-7-9
Matlab Language
12
Байду номын сангаас
4、数组元素的标识与寻访 (续) 元素与子数组的寻访与赋值
【例4-3】一维数组元素与子数组的寻访与赋值 >>a=linspace(1,10,5)
a= 1.0000 3.2500 5.5000 7.7500 10.0000
>>a(3)
%寻访a的第3个元素
ans = 5.5000
>>a([1 2 5]) %寻访a的第1、2、5个元素组成的子数组
ans = 1.0000 3.2500 10.0000
2013-7-9
Matlab Language
13
2013-7-9
Matlab Language
10
4、数组元素的标识与寻访 数组元素的标识
“全下标(index)”标识
经典数学教科书采用“全下标”标识法:每一维对应一个下 标。 如对于二维数组,用“行下标和列下标”标识数组 的元素,a(2,3)就表示二维数组a的“第2行第3列”的 元素。 对于一维数组,用一个下标即可,b(2)表示一维数组 b的第2个元素,无论b是行向量还是列向量。
a_2 = 1 1 10 1
1 7 1 30

2013-7-9
二维数组可以“单下标”方式或“全下标”方式访问、赋 值; “单下标”方式赋值时,等号两边涉及的元素个数必须相 等; “全下标”方式赋值时,等号右边数组的大小必须等于原 数组中涉及元素构成的子数组的大小。
Matlab Language
>>a_2(:, end:-1:3)
ans = 7 1 30 1
>>a_2(end,[2:end-1])
What is the result?
2013-7-9
Matlab Language
19
4、数组元素的标识与寻访 (续)
【例4-4】 size、length函数 >>a=ones(4,6)*6 >>m=size(a) size函数返回变量的大小,即 >>len=length(a) 变量数组的行列数 >>b=1:5; length函数返回变量数组的最 >>length(b) 大维数 >>c=b‟ >>length(c)
所有的向量元素必须在操作符“[ ]”之内; 向量元素间用空格或英文的逗点“,”分开。
第二种方法:使用冒号“:”操作符
【例2-2】创建以1~10顺序排列整数为元素的行向量b。 >>b=1:10 b=1 2 3 4 5 6 7 8 9 10
2013-7-9
Matlab Language
2
2.2.2、创建一维数组变量(续)
%第3个及其后所有元素构成的子数组 函数end作为参数使用,返回最后一个元素的下标
>>a(3:end-1)
ans = 5.5000 7.7500
2013-7-9
Matlab Language
14
4、数组元素的标识与寻访 (续)
>>a([1 2 3 5 5 3 2 1])
ans = 1.0000 3.2500 5.5000 10.0000 10.0000 5.5000 3.2500 1.0000
【例2-3】键入并执行c=1:2:10和d=1:2:9 >> c=1:2:10
c=1 3 5 7 9
>>d=1:2:9
d= 1 3 5 7 9
利用冒号“:”操作符创建行向量的基本语法格式:
x=Start:Increment:End Start表示新向量x的第一个元素; 新向量x的最后一个元素不能大于End ; Increment可正可负,若负,则必须Start>End;若正,则必 须Start<End,否则创建的为空向量。 若Increment=1,则可简写为:x=Start:End。
2013-7-9
Matlab Language
8
2.2.3、创建二维数组变量(续)
【例3-3】由向量构成二维数组。
>>a=[1 2 3]; b=[2 3 4]; >>c=[a;b]; >>c1=[a b];

第二种方法:函数方法
函数ones(生成全1矩阵)、zeros (生成全0矩阵) 、reshape “help elmat”获得基本的矩阵生成和操作函数列表 【例3-4】创建全1的3x3数组。 >>ones(3) 【例3-5】创建全1的3x4数组。 >>ones(3,4)
相关文档
最新文档