实验三 MATLAB的符号运算
- 格式:doc
- 大小:40.50 KB
- 文档页数:2
11、绘制曲线13++=x x y ,x 的取值范围为[-5,5]。
clear; x=-5:0.1:5; y=x.^3+x+1; plot(x,y,'k'); title('曲线图像'); xlabel('x') ylabel('y') grid on;hold on;2、有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。
并添加标题:运动曲线图;添加横坐标:时间 t/s ;添加纵坐标:位移 s/mm ;添加图例。
t=0:0.5:10; y1=exp(-0.1*t); y2=exp(-0.2*t); y3=exp(-0.5*t);plot(t,y1,':*r',t,y2,'-^g',t,y3,'-ob') title('运动曲线图'); xlabel('时间 t/s') ylabel('位移 s/mm') legend('a=0.1','a=0.2','a=0.5')3、22y xxe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和等高线效果图。
[x,y]=meshgrid([-2:0.2:2]);z=x.*exp(-x.^2-y.^2); mesh(x,y,z) subplot(2,2,1) plot3(x,y,z)title('plot3(x,y,z)') subplot(2,2,2) mesh(x,y,z)title('mesh(x,y,z)') subplot(2,2,3) surf(x,y,z)title('surf(x,y,z)') subplot(2,2,4) surf(x,y,z) shading interptitle('surf(x,y,z) shading interp')shading interp4、在同一坐标内绘制如下曲线:(1)y1=tsin(t)(红色连续线‘—’);(2)y2=t2-cos(t);(蓝色间断线‘—.’)(3)题头:小车运动学分析曲线;图例:y1曲线、y2曲线(4)x轴:时间t/s;y轴:位移曲线/mm (5)曲线上标注文字说明:该运动曲线良好。
实验1 解答 1、 分别用MATLAB 的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形: ⑴ 2()(2)()tf t e t ε−=−t (2-exp(-2 t)) stepfun(t,0)syms t;f=sym('(2-exp(-2*t))*heaviside(t)'); ezplot(f,[-1,10]);t=-1:0.01:10; t1=-1:0.01:-0.01; t2=0:0.01:10;f1=[zeros(1,length(t1)),ones(1,length(t2))]; f=(2-exp(-2*t)).*f1; plot(t,f)axis([-1,10,0,2.1]) ⑵ []()cos()()(4)2tf t t t t πεε=−−syms t;f=sym('cos(t)*pi*t/2*[heaviside(t)-heaviside(t-4)]'); ezplot(f,[-2,8]);tcos(t) π t/2 [heaviside(t)-heaviside(t-4)]⑶ ()cos()()tf t e t t ε=syms t;f=sym('exp(t)*cos(t)*heaviside(t)'); ezplot(f,[-2,8]);texp(t) cos(t) heav iside(t)⑷ 23()(2)f t t t ε=+syms t;f=sym('2/3*t*heaviside(t+2)'); ezplot(f,[-4,8]);t2/3 t heaviside(t+2)2、 分别用MATLAB 表示并绘出下列离散时间信号的波形: ⑴ ()12()()kf k k ε=−t=0:20;t1=-10:20;f=[zeros(1,10),(-0.5).^t]; stem(t1,f)axis([-10,20,0,1.1])⑵ []()()(8)f t k k k εε=−−t=0:8; t1=-10:15;f=[zeros(1,10),t,zeros(1,7)]; stem(t1,f)axis([-10,15,0,10])⑶ ()sin()()4k f k k πε= t=0:50;t1=-10:50;f=[zeros(1,10),sin(t*pi/4)]; stem(t1,f)axis([-10,50,-2,2])⑷ ()(2)f k k ε=−+t=-20:10;f=[ones(1,23),zeros(1,8)]; stem(t,f)axis([-20,10,0,2])3、 已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。
matlab符号运算符Matlab符号运算符的使⽤⼀、&&/||/&/||:数组逻辑或||:先决逻辑或&:数组逻辑与&&:先决逻辑与&&和||被称为&和|的short circuit形式。
先决逻辑符号含义:先判断左边是否为真;若为真,则不再判断右边;若为假,才继续进⾏或运算先判断左边是否为假;若为假,则不再判断右边;若为真,才继续进⾏与运算两种运算符号的区别:先决逻辑运算的运算对象只能是标量数组逻辑运算可为任何维数组,运算符两边维数要相同举例分析:A&B :⾸先判断A的逻辑值,然后判断B的值,然后进⾏逻辑与的计算。
A&&B:⾸先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。
这种⽤法⾮常有⽤,如果A是⼀个计算量较⼩的函数,B是⼀个计算量较⼤的函数,那么⾸先判断A对减少计算量是有好处的。
另外这也可以防⽌类似被0除的错误。
Matlab中的if和while语句中的逻辑与和逻辑或都是默认使⽤short-circuit形式。
// 这可能就是有时候⽤&和| 会报错的原因。
⼆、系统结构体内的变量⼀般都是⼩写。
matlab区分⼤⼩写。
三、==表⽰逻辑相等,返回结果,相等为1,不等为0。
四、.*(times)点乘timesArray multiply 数组乘Syntaxc = a.*bc = times(a,b)Descriptionc = a.*b multiplies arrays a and b element-by-element and returns the result in c. Inputs a and b must have the same size unless one is a scalar.注释:a、b要同尺⼨,或其中⼀个为标量。
matlab中的数学符号与运算MATLAB(Matrix Laboratory)是一种用于数值计算和科学工程应用的高级编程语言和环境。
MATLAB中包含了丰富的数学符号和运算,用于进行矩阵操作、线性代数、微积分等数学计算。
以下是MATLAB中一些常见的数学符号和运算:1. 数学符号:-矩阵:MATLAB 中的基本数据类型是矩阵,可以使用方括号`[]` 来表示。
例如,`A = [1, 2; 3, 4]` 表示一个2x2的矩阵。
-向量:向量可以表示为一维矩阵,例如,`v = [1, 2, 3]` 表示一个包含3个元素的行向量。
-转置:使用单引号`'` 来进行转置操作。
例如,`A'` 表示矩阵A的转置。
-点乘和叉乘:点乘使用`.*`,叉乘使用`.*`。
例如,`A .* B` 表示矩阵A和B的对应元素相乘,`A * B` 表示矩阵A和B的矩阵乘法。
2. 数学运算:-基本算术运算:MATLAB支持基本的算术运算,如加法、减法、乘法和除法。
例如,`result = 2 + 3`。
-元素-wise 运算:MATLAB 支持元素-wise 的运算,即对矩阵或向量中的每个元素进行运算。
例如,`C = A .* B` 表示矩阵A和B的对应元素相乘。
-矩阵操作:MATLAB 提供了许多用于矩阵操作的函数,如`inv`(求逆矩阵)、`det`(求行列式)、`eig`(求特征值)等。
-积分和微分:MATLAB 提供了`int`(积分)和`diff`(微分)等函数,用于进行积分和微分运算。
-方程求解:MATLAB 提供了`solve` 函数,用于求解方程组。
这些是MATLAB中一些常见的数学符号和运算。
MATLAB 的强大之处在于它的矩阵操作能力,使得它非常适用于数学和工程领域的计算和建模。
如果你有特定的数学运算需求,可以查阅MATLAB 的官方文档或在线资源以获取详细信息。
MATLAB符号运算前⾔有时候,你可能会遇到较复杂的⽅程(组),希望⽤MATLAB来求解。
MATLAB的符号运算正好可⽤于求解⽅程(组)。
此外,它还有许多其他功能。
例如,展开和简化、因式分解以及微积分运算等。
MATLAB的符号运算虽然是数值运算的补充,但是它仍然是科学计算研究中不可替代的重要内容。
与数值运算相⽐,符号运算不需要预先对变量赋值,其运算结果以标准的符号形式表达。
⽐如说计算sin(π),数值运算的结果是1.2246e-16,符号运算的结果是0。
前者是近似的,后者是精确的。
正⽂MATLAB符号运算功能⾮常强⼤,本⽂只介绍⼤部分常⽤的符号运算功能。
注:本⽂代码的运⾏环境是MATLAB R2016b。
1. 创建符号数、符号变量和符号矩阵这⼀步骤是符号运算的第⼀步,后⾯的步骤都是在此基础上进⾏的。
%创建符号数 (只能⽤sym函数)s0 = 1 / sym(7) %符号数,不适合⼤型符号数s1 = sym('1/7') %符号数s2 = sym('3 + 4i') %符号复数%创建符号变量 (sym函数和syms函数都⾏)%--sym函数s3 = sym('x') %符号变量%--syms函数syms a b c %创建多个符号变量,值为本⾝syms(sym('[d e; e d]')) %⽤已存在的符号变量矩阵创建多个符号变量%创建符号矩阵 (sym函数和syms函数都⾏)s4 = sym('[2 5 6; 9 8 6]') %符号数矩阵s5 = sym('x', [2 3]) %符号变量矩阵,矩阵内的元素不会被创建为符号变量A = [a b c; c b a] %⽤已存在的符号变量创建符号变量矩阵% syms A B [2 3] %仅2017及以上版本⽀持,同时创建多个符号矩阵代码运⾏结果如下。
可以看到s5是⼀个2x3的符号变量矩阵,但矩阵内元素不会被创建成符号变量。
实验三 MATLAB 的符号运算
一 实验目的:
1.掌握符号对象的创建及符号表达式化简的基本方法;
2.掌握符号微积分、符号方程的求解的基本方法。
二 实验装置:
计算机
三 实验内容:
1.符号对象的创建
(1) 建立符号变量
使用sym 函数把字符表达式'2*sin(x)*cos(x)'转换为符号变量。
2.符号表达式的化简
(1)因式分解
对表达式f=x 3-1 进行因式分解。
(2) 符号表达式的展开
对符号表达式f=cos(x+y)进行展开。
(3)符号表达式的同类项合并
对于表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并。
(4)符号表达式的化简
(5)符号表达式的分式通分
对表达式 进行通分。
(6)符号表达式的替换
用新变量替换表达式a+b 中变量b 。
3.符号微积分
(1) 符号极限
计算表达式 的极限。
(2)符号微分
计算表达式f=sinx 的微分。
(3)符号积分。
例:简化32381261+++=x
x x f 22x y y x f +=
x
tgx x lim 0→()⎰+dz
z x
31
计算表达式 的积分。
(4)符号求和
计算表达式 4.符号方程的求解
求解代数方程组 四 实验要求:
1.按照要求预习实验;
2.在MATLAB 中运行实验程序验证仿真结果;
3. 按照要求完成实验报告。
.
10005∑k
⎪⎩
⎪⎨⎧=--=-+=+-0430
35218472z y x z y x z y x。