matlab第三讲
【matlab教学PPT】第3讲 Matlab的图形
![【matlab教学PPT】第3讲 Matlab的图形](https://img.taocdn.com/s3/m/462ae875a26925c52cc5bf98.png)
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的变量与矩阵](https://img.taocdn.com/s3/m/b4887fa33968011ca200914f.png)
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讲-数组)](https://img.taocdn.com/s3/m/97a5e9685acfa1c7ab00cc06.png)
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
MATLAB第3讲 MATLAB基本绘图
![MATLAB第3讲 MATLAB基本绘图](https://img.taocdn.com/s3/m/24602d20e2bd960590c6779c.png)
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]) 还有其它特殊函数。。。
matlab数据处理
![matlab数据处理](https://img.taocdn.com/s3/m/d7ffc7fe0242a8956bece4df.png)
12
? ?
80 75 70 65
10
8
60 3 2.5 5 2 1.5 ? ? 1 1 2 ? ? 4 3
6 y=f(x) 4 2 0 -2 0
0.1
0.2
0.3
0.4
0.5 x
0.6
0.7
0.8
0.9
1
பைடு நூலகம்
3
拟合
曲线拟合:用一个解析函数描述数据(通常是测量值),找出某条光滑曲线, 它最佳地拟合数据。 最小二乘法拟合:误差平方和最小。从一组实验数据(xi,yi)中寻找出自变 量x和因变量y之间的函数关系y=f(x)。由于观测数据往往不够准确,因 此并不要求y=f(x)经过所有的(xi,yi)点,而只要求在给定点xi上误差按 照在数据点的最小误差平方和,且所用的曲线限定为多项式 。
5
插值
多项式插值是指根据给定的有限个样本点,产生另外的估计点以达 到数据更为平滑的效果。该技巧在信号处理与图像处理上应用广泛。 所用指令有一维的interp1、二维的interp2、三维的interp3。这些 指令分别有不同的方法(method),设计者可以根据需要选择适当的 方法,以满足系统属性的要求。Help polyfun可以得到更详细的内容。
y=interp1(xs,ys,x,‘method’):在有限样本点向量xs与ys中, 对向量x插值 产生y,所用方法定义在method中,有4种选择: nearest:执行速度最快,输出结果为直角转折 linear:默认值,在样本点上斜率变化很大 spline:最花时间,但输出结果也最平滑 cubic:最占内存,输出结果与spline差不多
S=∫
π
0
∫π
2π
matlab求解代数方程组解析
![matlab求解代数方程组解析](https://img.taocdn.com/s3/m/66c6095d1711cc7931b716f1.png)
第三讲 Matlab 求解代数方程组理论介绍:直接法+迭代法,简单介绍相关知识和应用条件及注意事项 软件求解:各种求解程序讨论如下表示含有n 个未知数、由n 个方程构成的线性方程组:11112211211222221122n n n n n n nn n na x a x a xb a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩ (1)一、直接法 1.高斯消元法:高斯消元法的基本原理: 在(1)中设110,a ≠将第一行乘以111,k a a -加到第(2,3,,),k k n = 得: (1)(1)(1)(1)11112211(2)(1)(2)22112(2)(2)(2)22n n n n n nn n n a x a x a x b a x a x b a x a x b ⎧+++=⎪++=⎪⎨⎪⎪++=⎩(2)其中(1)(1)1111,.k k aa b b ==再设(2)220,a ≠将(2)式的第二行乘以(2)2(2)22,(3,,)k a k n a -= 加到第k 行,如此进行下去最终得到:(1)(1)(1)(1)11112211(2)(1)(2)22112(1)(1)(1)1,111,1()()n n n n n n n n n n n n n n n n nn n n a x a x a x b a x a x b a x a x b a x b --------⎧+++=⎪++=⎪⎪⎨⎪+=⎪⎪=⎩(3) 从(3)式最后一个方程解出n x ,代入它上面的一个方程解出1n x -,并如此进行下去,即可依次将121,,,,n n x x x x - 全部解出,这样在()0(1,2,,)k kk a k n ≠= 的假设下,由上而下的消元由下而上的回代,构成了方程组的高斯消元法. 高斯消元法的矩阵表示:若记11(),(,,),(,,)T T ij n n n n A a x x x b b b ⨯=== ,则(1)式可表为.Ax b =于是高斯消元法的过程可用矩阵表示为:121121.n n M M M Ax M M M b --=其中:(1)21(1)111(1)1(1)11111n a a M a a ⎛⎫ ⎪ ⎪- ⎪=⎪ ⎪ ⎪ ⎪- ⎪⎝⎭ (2)32(2)222(2)2(2)221111n a a M a a ⎛⎫⎪⎪ ⎪-⎪=⎪ ⎪ ⎪⎪- ⎪⎝⎭高斯消元法的Matlab 程序: %顺序gauss 消去法,gauss 函数 function[A,u]=gauss(a,n) for k=1:n-1%消去过程 for i=k+1:n for j=k+1:n+1%如果a(k,k)=0,则不能削去 if abs(a(k,k))>1e-6 %计算第k 步的增广矩阵 a(i,j)=a(i,j)-a(i,k)/a(k,k)*a(k,j); else%a(k,k)=0,顺序gauss 消去失败 disp (‘顺序gauss 消去失败‘); pause; exit; end end end end%回代过程 x(n)=a(n,n+1)/a(n,n); for i=n-1:-1:1 s=0; for j=i+1:n s=s+a(i,j)*x(j); endx(i)=(a(i,n+1)-s)/a(i,i); end%返回gauss 消去后的增广矩阵 A=triu(a); %返回方程组的解 u=x ;练习和分析与思考: 用高斯消元法解方程组:12345124512345124512452471523814476192536x x x x x x x x x x x x x x x x x x x x x x ++++=⎧⎪+++=⎪⎪++++=⎨⎪+++=⎪+++=⎪⎩2.列主元素消元法在高斯消元法中进行到第k 步时,不论()k ik a 是否为0,都按列选择()||(,,)k ik a i k n = 中最大的一个,称为列主元,将列主元所在行与第k 行交换再按高斯消元法进行下去称为列主元素消元法。
第三讲 数值计算功能(1)
![第三讲 数值计算功能(1)](https://img.taocdn.com/s3/m/a87531eef61fb7360b4c65c8.png)
•6、几种特殊矩阵的产生
•diag
•hilb
对角形矩阵
Hilbert阵
compan
pascal
伴随阵
Pascal三角阵
•vander •gallery
•magic •kron
Vandermonde阵
•hadamard Hadamart阵
试验矩阵
魔方阵
hankel
Hankel阵
toeplitz Toeplitz阵
MATLAB第三讲 MATLAB的数值计算功能 (一)
• 一、 •二 • 三、 • 四、 • 五、
数组与矩阵的创建 矩阵运算与数组运算 数组函数与矩阵函数 线性方程组的解法 向量与矩阵处理
一、数组与矩阵的输入
1、简单数组的输入
• 从左方括号开始,每个数之间用逗号分开,以
右方括号结束。 • 例 求函数在 y xe x [0,1]之间每隔步长为0.1 的值
• >> A.*B • ans = • 1 •
9 • >> A*B • ans = –7 -4 – 15 -10
-4 -4
•
•例2 两个列向量的内积 •X=[1,2,3]’; •Y=[3,-1,2]’; •X’*Y •Y’*X •ans= 7 •注:“ ’ ”表示转置
三、数组函数与矩阵函数
1、基本数组函数 数组函数对向量的作用规则是:
>>例3
format loose
1/3 1/4 1/5
%不要空行
A,c A= 1 1/2 1/2 1/3 1/3 1/4 c = 335/113
>> format compact
>> A,c A= 1 1/2 1/2 1/3 1/3 1/4 c= 335/113
(完整版)matlab第三讲教案
![(完整版)matlab第三讲教案](https://img.taocdn.com/s3/m/d2e0baa958fb770bf68a553e.png)
西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——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.四、离散数学中的函数离散数学就是有关数的数学,也就是中学代数里的因式分解、求最大公因数和最小公倍数。
[计算机软件及应用]matlab课件第3讲
![[计算机软件及应用]matlab课件第3讲](https://img.taocdn.com/s3/m/280c86e1a216147916112820.png)
2021/8/26
10
4、数组元素的标识与寻访
• 数组元素的标识 – “全下标(index)”标识 经典数学教科书采用“全下标”标识法:每一维对应一个下标。 – 如对于二维数组,用“行下标和列下标”标识数组的元素, a(2,3)就表示二维数组a的“第2行第3列”的元素。 – 对于一维数组,用一个下标即可,b(2)表示一维数组b的第2 个元素,无论b是行向量还是列向量。 – “单下标”(linear index)标识 所谓“单下标”标识就是用一个下标来表明元素在数组的位置。 – 对于二维数组, “单下标”编号:设想把二维数组的所有 列,按先后顺序首尾相接排成“一维长列”,然后自上往下 对元素位置执行编号。 – 两种“下标”标识的变换:sub2ind、ind2sub
>>a([1 2 5]) %寻访a的第1、2、5个元素组成的子数组
ans = 1.0000 3.2500 10.0000
2021/8/26
13
4、数组元素的标识与寻访 (续)
>>a(1:3) %寻访前3个元素组成的子数组
ans =
1.0000 3.2500 5.5000
>>a(3:-1:1) %由前3个元素倒序构成的子数组
(1,3) (2,3) (3,3)
(1,4) (2,4) (3,4)
(1,4) (2,4) (3,4)
页
24
5、多维数组 (续)
• 三维数组,可对应至一个 X - Y - Z 三维立体坐标,如下图所示:
Z(页)
2021/8/26
X(行)
Y(列)
25
5、多维数组 (续)
• 三维数组元素的寻址:可以(行、列、页)来确定。 • 以维数为 3×4×2 的三维数组为例,其寻址方式如下
第三讲 MATLAB的符号运算
![第三讲 MATLAB的符号运算](https://img.taocdn.com/s3/m/7970196648d7c1c708a14511.png)
2t
t
27
数学建模培训
MATLAB
>> a=[0 1;-2 -3]; 1;>> syms s >> b=(s*eye(2)-a) b=(s*eye(2)b= [ s, -1] [ 2, s+3] >> B=inv(b) [ (s+3)/(s^2+3*s+2), [ -2/(s^2+3*s+2),
maple 软件—— 主要功能是符号运算, maple软件 ——主要功能是符号运算 ,
它占据符号软件的主导地位。 它占据符号软件的主导地位。
02:12:10 4
数学建模培训
MATLAB
2. 符号变量与符号表达式
f = 'sin(x)+5x' f —— 符号变量名 sin(x)+5x—— sin(x)+5x—— 符号表达式 ' '—— 符号标识 符号表达式一定要用' 符号表达式一定要用' ' 单引 号括起来matlab才能识别。 号括起来matlab才能识别。
区间求定积分02:12:10 23学建模培训MATLAB
int('被积表达式','积分变量','积分上限', int( 被积表达式' 积分变量' 积分上限' '积分下限')—— 定积分 积分下限' ——缺省时为不定积分
taylor(f,n) —— 泰勒级数展开 ztrans(f) —— Z变换 iztrans(f) —— 反Z变换 laplace(f) —— 拉氏变换 ilaplace(f) —— 反拉氏变换 fourier(f) —— 付氏变换 ifourier(f) —— 反付氏变换
《信号与系统——MATLAB综合实验》讲义_第三讲
![《信号与系统——MATLAB综合实验》讲义_第三讲](https://img.taocdn.com/s3/m/8dc228f7ba0d4a7302763a28.png)
学编程学应用7. 离散时间系统的时域分析z常系数线性差分方程的求解z离散时间系统的单位样值(单位冲激)响应z卷积(卷积和)z解卷积(反卷积)7.1常系数线性差分方程的求解z MATLAB 提供数值解法(即迭代法)计算差分方程的完全解。
即给定传递函数、激励序列和边界条件后,用filter 函数得到输出序列。
z [y, wf] = filter(b, a, x, wi), wi 和wf 分别表示系统的初始状态和终止状态。
101()(1)()()(1)()N M y n a y n a y n N b x n b x n b x n M +−++−=+−++−""01()()()N Nk j k j y n b x n k a y n j ===−−−∑∑10()(1)()y n w n b x n =−+1211()(1)()()n w n b x n a y n =−+−#111()(1)()()N N N n w n b x n a y n −−=−+−()()()N N n b x n a y n =−综合以上公式,得到111n a −−1s 2X 3X n a −Y 1m X +1n X −n X 1s 1s 1s 2n a −−n m a −−2a −1a −1mb −2m b −常系数线性差分方程的求解2()(1)0.24(2)()(1)()()(1)1,(2)2y n y n y n x n x n x n n u n y y −−+−=−−=−=−−=−例7.1 求下示差分方程其中激励函数,知的完全且已解。
()0.9(1)0.3(2)0.05()(1)0,(2)1,(2)(1)1,(2)0y n y n y n u n y y y y −−+−=−=−=−=−=若边界条件为(1)。
对以上两种情况分别求系统的例7.2 已知系统的差分方程零输入响应、零状态响应和完表达式为全响应。
第三讲-MATLAB数据类型
![第三讲-MATLAB数据类型](https://img.taocdn.com/s3/m/0b8080fbbb68a98270fefa6b.png)
MATLAB 数值表示缺省的数据类型为双精度浮点型例如:3 -10 0.001 1.3e10 1.256e-6 修改显示格式:format style short, long, short e, long e,short g, long g, short Eng, long Eng, bank, +, hex, rat, compact, loose基本操作⏹ceil( ), floor(), round() %取整⏹single( ) %单精度浮点型 ⏹double( ) %双精度浮点型缺省显示格式:简洁的短(short )格式,小数点后四位MATLAB四则运算符运算数学表达式MATLAB运算符MATLAB表达式加a+b + a+b减a-b - a-b乘axb * a*b除a/b或a\b /或\ a/b或a\b幂^ a^bba●MATLAB用“\”和”/”分别表示“左除”和“右除”。
对标量而言,两者没有区别。
对矩阵产生不同影响。
●表达式按与常规相同的优先级自左至右执行运算。
●优先级:指数运算级别最高,乘除次之,加减最低。
●括号改变运算的次序。
例:计算 (1)在MATLAB 命令窗口输入: >>(12+2*(7-4))/3^2(2)按【Enter 】键,指令执行。
()2122743+×−÷例:计算(1)在MATLAB 命令窗口输入: >>(-1)^(1/3)(2)按【Enter 】键,指令执行。
1/3(1)−例:计算的值,其中x=4.92。
>>sqrt(2*exp(4.92+0.5)+1)MATLAB 复数及其运算MATLAB 中复数的表达:z=a+bi ,其中a 、b 为实数。
基本操作⏹实部real( )、虚部imag( ) ⏹辐角主值angle( )、模abs( ) ⏹共轭conj( )例:复数z1=3+4i ,z2=1+i, (1)计算 (2)验证:模的平方等于实部、虚部平方和 (3)计算z2辐角主值12121212,,,z z z z z z z z +−MATLAB逻辑类型在MATLAB中逻辑类型包含true和false,分别由1和0表示。
第3讲 MATLAB语言的符号运算
![第3讲 MATLAB语言的符号运算](https://img.taocdn.com/s3/m/492c481af12d2af90242e6e2.png)
2、微分
Matlab求微分的函数是diff()
说明:
①用diff(f)求 f 对预设独立变量的一次微分;
② diff(f,t)求 f 对独立变量 t 的一次微分;
③用diff(f,n)求 f 对预设独立变量的n次微分 ④diff(f,t,n)求 f 对独立变量 t 的n次微分; ⑤ f 可以是标量、向量、矩阵。
调用格式如下:
通过F=fourier(f)求时域函数f的Fourier变换
①如果采用F=fourier(f)的格式,默认积分变量是x;
③invfourier()为Fourier反变换。
②如果采用F=fourier(f,u)的格式,指定u为积分变量;
例:计算时间函数的 >>syms t w
f (t ) e
(t ) y (t ) x (t ) x(t ) y
[x,y]= dsolve(‘Dx=y’,Dy=-x’) [f,g]= dsolve(‘Df=3*f+4*g’,’Dg=-5*f+2*g’)
⑥ 2个微分方程,给定初始条件 [x,y]= dsolve(‘Dx=y’,Dy=-x’,’x(0)=0’,’y(0)=1’)
3.4 微分方程求解
符号运算中的微分方程求解函数可利用如下格式
dsolve(‘方程1’,‘方程2’,…) 函数格式说明: ①可多至12个微分方程的求解; ②默认自变量为x,并可任意指定自变量t,u等;
③方程的各阶导数项以大写字母“D”作为标识,后接 数字阶数,再接解变量名;
④初始条件以符号代数方程给出,如果初始条件项缺 省,其默认常数为C1,C2,…等; ⑤返回变量的格式为:[Y1,Y2,…]=dsolve(…)
3.6 符号表达式的运算
第三讲MATLAB的符号运算
![第三讲MATLAB的符号运算](https://img.taocdn.com/s3/m/eb9ab04f0640be1e650e52ea551810a6f524c8b8.png)
④计算所需的时间较长。
• Symbolic Math Toolbox——符号运算工具包通过调用
Maple软件实现符号计算的。
• Maple软件——主要功能是符号运算,它占据符号软件
的主导地位。
2. 字符串与符号变量、符号常量
字符串对象 f = 'sin(x)+5x'
由符号变量构成的符号函数和 符号方程
• 符号表达式是由符号常量、符号变量、符号函
数运算符以及专用函数连接起来的符号对象。
• 包括:符号函数和符号方程。判断看带不带等
号。 例:syms x y z; f1=x*y/z;
f2=x^2+y^2+z^2; f3=f1/f2;
e1=sym('a*x^2+b*x+c')
factor(x^3-y^3)
• simplify( ) 该函数是一个强有力的具有
普遍意义的工具,它利用Maple化简规则 对表达式进行简化。
例:S=sym('[(x^2+5*x+6)/(x+2);sqrt(16)]')
simplify(S)
• simple( ) 用几种不同的算术简化规则对
符号表达式进行简化,使其用最少的字 符来表示。
行是自变量 x 的取值范围和常数 a 的值。
• 第四行只对 f 起作用,如求导、积分、简
化、提取分子和分母、倒数、反函数。
• 第五行是处理 f 和 a 的加减乘除等运算。
• 第六行前四个进行 f 和 g 之间的运算,后
三个分别是:求复合函数;把 f 传递给 ; swap是实现 f 和 g 功能的交换。
MATLAB第三讲符号运算及绘
![MATLAB第三讲符号运算及绘](https://img.taocdn.com/s3/m/b80aba477dd184254b35eefdc8d376eeaeaa1736.png)
化简根号表达式
使用`sqrt`函数化简根号表达式,例如 `sqrt(x^2)`化简为`abs(x)`。
符号函数的计算
1 2
符号函数的求值
使用`subs`函数将符号表达式中的变量替换为具 体数值进行计算,例如`subs(expr, x, 2)`。
符号函数的复合
使用函数句柄和参数列表定义符号函数,例如`f = @(x) x^2 + 2*x + 1`。
符号方程求解
使用solve函数求解代数方程,例如 solve(x^2 - 4*x + 4)。
绘图实例
线性图
使用plot函数绘制线性图,例如plot(x, y)。
柱状图
使用bar函数绘制柱状图,例如bar(x, y)。
散点图
使用scatter函数绘制散点图,例如scatter(x, y)。
曲面图
使用surf函数绘制曲面图,例如surf(x, y, z)。
三维等高线图
使用contour函数绘制三维等高线 图,可以展示三维空间中数据点的 等高线分布。
图形标注与修饰
标题和轴标签
使用title和xlabel、ylabel、 zlabel函数添加标题和轴标签,
以解释图形含义和坐标轴意义 。
网格线和参考线
使用grid on和hold on命令添 加网格线和参考线,以增强图 形可读性和比较不同数据系列 。
趋势。
条形图
使用bar函数绘制条形图, 可以展示分类数据的大
小比较。
饼图
使用pie函数绘制饼图, 可以展示各类数据占总
体的比例。
绘制三维图形
三维散点图
使用scatter3函数绘制三维散点 图,可以展示数据点在三维空间
第3讲 MATLAB作图
![第3讲 MATLAB作图](https://img.taocdn.com/s3/m/c4754b0dbb68a98271fefa94.png)
loglog(X, Y) :x、y坐标都是以10为底的对数比例坐标系
semilogx(X, Y):x坐标轴是对数坐标系 semilogy(…):y坐标轴是对数坐标系 plotyy:两个y坐标轴,左、右边各一个
例 用方形标记创建一个简单的loglog
解 输入命令: x=logspace(-1,2); loglog(x,exp(x),’-s’) grid on %标注格栅
(2) Mesh(x,y,z)
画网格曲面
数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值
例
画出曲面Z=(X+Y)2在不同视角的网格图.
解 x=-3:0.1:3; y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; mesh(X,Y,Z) Matlab liti205
间
曲
线
PLOT3(x,y,z,s)
n维向量,分别表示曲 线上点集的横坐标、纵 坐标、函数值 例 指定颜色、 线形等
在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t), z=t. 解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) Matlab liti201 rotate3d %旋转
meshgrid(x,y) 作用: 产生一个以向量x为行、向量y为列的矩阵
返回
空
(1)
间
曲
面
surf(x,y,z) 画出数据点(x,y,z)表示的曲面
数据矩阵。分别表示 数据点的横坐标、纵 坐标、函数值
例 解
画函数Z=(X+Y)2的图形. x=-3:0.1:3; y=1:0.1:5; Matlab liti203 [X,Y]=meshgrid(x,y); Z=(X+Y).^2; surf(X,Y,Z) shading flat %将当前图形变得平滑
第3讲 MATLAB矩阵计算
![第3讲 MATLAB矩阵计算](https://img.taocdn.com/s3/m/4ceb2b23915f804d2b16c130.png)
电气工程系 李颖琼
矩阵结构形式提取和变换
名称 fiplr fipud Rot90 含义 矩阵左右翻转 矩阵上下翻转 矩阵反时针90翻转 名称 diag 含义 产生或提取对角阵
电气工程系 李颖琼
[例1] 计算表达式的值,并将结果赋给变量x,然后显示 出结果。 在MATLAB命令窗口输入命令: x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i) %计算表达式的 值 x=
a=
x=[-1.3 sqrt(3) (1+2+3)/5*4]
1
4 7
a(2,3) ans =
2
5 8
3
6 9
x(2)
ans = 1.7321
电气工程系 李颖琼
6
如果赋值元素的下标超出原来矩阵的大小,矩阵的 行列会自动扩展
x(5)=abs(x(1))
x=
Columns 1 through 5
-1.3000
a([2,4,5],:)=[ ]
5.0000 8.0000 0 4.0000 6.0000 9.0000 6.5000 3.0000
1.0000 2.0000 3.0000
4.0000 7.0000 0 5.0000
a= 1 7 2 8 3 9
电气工程系 李颖琼
复数
实数是复数的特例,复数的虚数部分用i或j表示
c=3+5.2i
c= 3.0000 + 5.2000i
电气工程系 李颖琼
复数的赋值方法两种 将矩阵元素逐个赋予复数
z=[1+2i,3+4i;5+6i,7+8i]
z= 1.0000 + 2.0000i 3.0000 + 4.0000i 5.0000 + 6.0000i 7.0000 + 8.0000i
第三讲MATLAB的图形功能
![第三讲MATLAB的图形功能](https://img.taocdn.com/s3/m/f9af589951e79b89680226df.png)
图形的标注
坐标轴标注
title xlabel ylabel(„标注’,‟属性1‟, 属性值1,…) 例: ?x=0:0.1*pi:2*pi; ?y=sin(x); ?plot(x,y) ?xlabel('x(0~2\pi)','FontWeight',' bold'); ?ylabel('y=sin(x)','FontWeight','b old'); ?title('正弦函数 ','Fontsize',12,'fontweight','bold', 'fontname','黑体')
10
1
极坐标系 polar(theta,rho) polar(theta,rho,s) 其中,theta为角向量,rho 为幅向量,s为图形属性 选项。 例:
90 120
12.5584 60
150
6.2792
30
180
0
210
330
>>x=1:0.01*pi:4*pi; >>y=sin(x/2)+x; >>polar(x,y,'-')
2 1 0
?[x,y]=meshgrid(-3:0.1:3,-2:0.1:2); ?z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y); ?plot3(x,y,z)
-1 2 5 0 -2 -5 0
mesh(X,Y,Z) 绘制彩色网格面图形 mesh(x,y,Z) x,y为两个向量,要求 [length(y),length(x)]=size(Z) mesh(Z) [m,n]=size(Z), 则使用x=1:n 及y=1:m 例: ?x=-8:0.5:8;y=x'; ?a=ones(size(y))*x; ?b=y*ones(size(x)); ?c=sqrt(a.^2+b.^2)+eps; ?z=sin(c)./c; ?mesh(z)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
2013-1-29
(三)符号变量的替换
subs函数:对符号表达式中符号变量的替换 语法: subs(s,new) %用new替换符号表达式s中的自由变量 subs(s,old,new) %用new替换符号表达式s中的old变量 注:new可以是符号变量,也可以是符号常量或数值常量
例7:
syms s f=s^2+3*s^(1/2)+5; f3=subs(f, s,5) g = sqrt(s); g3 = subs(f*g,s,10)
10
2013-1-29
二、符号表达式的代数运算
符号运算与数值运算的区别:
符号运算比数值运算准确。
符号运算可以得出封闭解或任意精度的数值解。 符号运算的时间较长,而数值型运算速度快。
11
2013-1-29
二、符号表达式的代数运算
符号表达式的运算符和基本函数与数值计算中的几乎相同。 1. 算术和关系运算符 (1) 算术运算符 “+”,“-”,“*”,“\”,“/”,“^”分别实现符号矩阵 的运算。 “.*”,“./”,“.\”,“.^”分别实现符号数组的运算。 “′”,“.′”分别实现符号矩阵的共轭转置、非共轭转置。 (2) 关系运算符 在符号对象的比较中,没有“大于”、“大于等于”、“小于 ”、“小于等于”的概念,而只有是否“等于”的概念(“= 12 2013-1-29
4
2013-1-29
一、符号对象的建立
进行符号计算时,要创建基本符号对象,才能进行符号运算!(重 要) 符号对象包括:符号常量、符号变量、符号表达式、符号矩阵等
(一)创建符号常量 法一:sym('常量') %创建符号常量 法二:sym(常量,参数) %把数值常量按某种格式转换为符号 常量 说明:参数可选为‘d’ (十进制) 、‘f’ (浮点)等。
6 2013-1-29
一、符号对象的建立
(二)创建符号变量和符号表达式
1. 使用sym命令创建单个符号变量和符号表达式 语法:sym('变量',参数) %把数值变量转换为符号变量 语法:sym('表达式') %创建符号表达式 说明:参数用来设置限定符号变量的数学特性,可以选择为 'positive'、'real'和'unreal', 'positive' 表示为“正、实”符号变量 ,'real'表示为“实”符号变量,'unreal'表示为“非实”符号变量。 如果不限定则参数可省略。 例2: sym('x','real') %创建实数符号变量 sym('y','real') z=sym('x+i*y'); %创建z为复数符号变量,也可以看成符号表达式 real(z) %取复数z的实部 7 2013-1-29
三、符号表达式的操作和转换
(二)符号表达式的变形或化简
多项式形式的表达方式:f(x)=x3+6x2+11x-6 因式形式的表达方式:f(x)=(x-1)(x-2)(x-3) 嵌套形式的表达方式:f(x)=x(x(x-6)+11)-6
1. pretty函数: 排版形式 2. collect函数:合并同类项,当有多个符号变量,可指定按某个符 号变量来合并,否则按默认的自由变量进行 例6:(说明如何指定的例子) >>f1=sym('x^3+2*x^2*y+4*x*y+6') >>collect(f1, ‘y’) %按y来合并同类项 ans=(2*x^2+4*x)*y+x^3+6 >>collect(f1, 'x') %等效于collect(f1),为什么? ans=x^3+2*x^2*y+4*x*y+6 18 2013-1-29
(二)创建符号变量和符号表达式
2.使用syms命令创建多个符号变量和符号表达式 语法: syms arg1 arg2 … 参数 %定义多个符号变量的简洁 形式 说明:参数设置和前面的sym命令相同,符号表达式直接由各符 号变量组成。 例3: syms a b c x %创建多个符号变量 f2=a*x^2+b*x+c %创建符号表达式 上面两式等效为:f2=sym('a*x^2+b*x+c')
二、符号表达式的代数运算
2. 函数运算
(1) 三角(反三角)函数和双曲函数 sin、cos、tan asin、acos、atan sinh、cosh、tanh (2) 指数和对数函数 sqrt、exp、expm 自然对数log(表示ln) (3) 复数函数 conj、real、imag、abs 无angle函数 (4) 矩阵代数命令 inv,det,rank, eig
24 2013-1-29
本章内容
符号对象(常量、变量、表达式、矩阵)的建立 符号表达式的代数运算 符号表达式的操作和转换 自由变量的确定 变形与化简 符号变量的替换 符号表达式的极限、微分、积分 各种积分变换和逆变换:傅立叶、拉普拉斯、Z变换 代数方程的求解
25
2013-1-29
MATLAB及其应用
福州大学物理与信息工程学院 郭里婷
1
2013-1-29
课程内容
第一章MATLAB7.3环境
第二章MATLAB数值计算
第三章MATLAB符号计算 第四章MATLAB的可视化输出 第五章MATLAB程序设计 实验环节
2
2013-1-29
第三章 MATLAB符号计算
(一)符号表达式中自由变量的确定(重要!)
1. 自由变量的确定原则 当符号表达式中有多于一个的符号变量时,只有一个变量可做为独立变量 (自由变量),其余的当常量处理。此时,除非特别指定(如何指定?), 否则MATLAB将基于以下原则确定一个默认的自由变量: 小写字母i保留,不能做为自由变量。 除i外,其余的,按照以下顺序确定:首先选择x作为自由变量;如果没有x ,则选择在字母顺序中最接近x的字符变量;如果与x相同距离,则在x后面的 优先。 大写字母比所有的小写字母都靠后。 例:sym('a*x+b*y+z+u+5*j') %x sym('5*v^u-3*w+Y+z') %w还的数学计算:包括数值计算和符号计算 数值计算:不允许使用未赋值的变量 符号计算:可以使用未赋值的符号变量进行运算 , 基 于 符 号 数 学 工 具 箱 (Symbolic Math Toolbox)和Maple软件内核,结合数值运算环境
3
2013-1-29
本章内容
符号对象(常量、变量、表达式、矩阵)的建立 符号表达式的代数运算 符号表达式的操作和转换 自由变量的确定 变形与化简 符号变量的替换 符号表达式的极限、微分、积分 各种积分变换和逆变换:傅立叶、拉普拉斯、Z变换 代数方程的求解
13
2013-1-29
二、符号表达式的代数运算
例4:符号表达式f =2x2+3x+4与g=5x+6的代数运算。
>>f=sym('2*x^2+3*x+4') >>g=sym('5*x+6') >>f+g %符号表达式相加 ans = 2*x^2+8*x+10 >>f*g %符号表达式相乘 ans = (2*x^2+3*x+4)*(5*x+6)
14
2013-1-29
本章内容
符号对象(常量、变量、表达式、矩阵)的建立 符号表达式的代数运算 符号表达式的操作和转换 自由变量的确定 变形与化简 符号变量的替换 符号表达式的极限、微分、积分 各种积分变换和逆变换:傅立叶、拉普拉斯、Z变换 代数方程的求解
15
2013-1-29
三、符号表达式的操作和转换
5
2013-1-29
(一)创建符号常量
例1: (注意各命令的运行结果和workspace的内容)
>>a=sym('sin(2) ') %创建符号常量,注意和 >>a=sin(2)的区别 a = sin(2) >>a1=2*sqrt(5)+pi %创建数值常量 a1 = 7.6137 >>a2=sym('2*sqrt(5)+pi') %创建符号常量 a2 = 2*sqrt(5)+pi >>a4=sym(2*sqrt(5)+pi, 'd') %按最接近的十进制浮点数表示符号常量 a4 = 7.6137286085893727261009189533070 >>a5='2*sqrt(5)+pi' %字符串常量,注意和第3条命令的执行结果比较 a5 = 2*sqrt(5)+pi
四、符号极限、微积分
(一)符号极限 p97
22
2013-1-29
四、符号极限、微积分
(二)符号微分
函数diff是用来求符号表达式或符号矩阵的微分。用于符号矩阵时, 是对矩阵的每一个元素进行微分运算。 例:(注意和书上例子的区别) 语法: diff(f) %求f对默认自由变量的一阶微分 diff(f,t) %求f对指定符号变量t的一阶微分 diff(f,n) %求f对默认自由变量的n阶微分 diff(f,t,n) %求f对指定符号变量t的n阶微分 例8: syms t x y g=[2*y t^2;t*sin(y) exp(x)] %创建符号矩阵 diff(g) %对默认自由变量求一阶微分 diff(g,'t') %对符号变量t求一阶微分 diff(g,'y') diff(g,2) %对默认自由变量求二阶微分 23 2013-1-29