第三章数电.docx
- 文档编号:6431599
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:11
- 大小:28.16KB
第三章数电.docx
《第三章数电.docx》由会员分享,可在线阅读,更多相关《第三章数电.docx(11页珍藏版)》请在冰豆网上搜索。
第三章数电
第3章符号计算
主要内容
P符号对象
P微积分操作
P方程求解
PFourier变换
P简单画图命令
符号计算
解析结果
数值完全准确
数值计算
在离散的点上进行的操作
具有舍入误差
数据类型
符号对象
✍Symbolicmathtoolbox定义的一种新的matlab数据类型
✍符号对象具有“传递性”
✍由126*8比特存储
符号对象的产生
✍专门的符号函数指令syms,sym
symsab%推荐用此指令
c=sym('c')
SymsPara1Para2flag
flag的取值如下
☺缺省值表示复数
☺positive正实数
☺real实数
☺unreal复数
☺clear恢复缺省值
符号数字
temp_s=sym('pi+sqrt(5)')%符号数字唯一生成方式
emp_n=pi+sqrt(5)%数值数据
vpa(a,d)
☺返回一个符号对象
☺variableprecisionarithmeric
☺d指定了小数点后小数的位数
☺亦可用digits(d)来提前规定,默认值是32
符号变量的确定
findsym(s)按照一定的顺序返回s中所有的自由符号变量
符号计算中的计算符
关系运算符
☺只有“等于”和“不等于”
☺返回逻辑值
x=sym('a');y=sym('a');
x==y,x~=y
符号计算中的函数指令(P.48)
符号表达式操作
subs:
代替数值数字到一个符号对象中的符号变量
symsx
f=2*x^2-3*x+1;
subs(f,2)
symsxy
f=x^2*y+5*x*sqrt(y)
subs(f,x,3)
subs(f,y,3)
符号微积分
symsx
g=exp(x)*cos(x);
diff(g)
diff(g,2)
✍若结果不是简化形式,利用Simplify命令
S=[(x^2+5*x+6)/(x+2),sqrt(16)];
R=simplify(S)
✍
对常数求导,首先要定义常数为一个符号对象
c=sym('5');
diff(c)
diff(5)
✍
包含多个变量的表达式求导
symsst
f=sin(s*t);
diff(f,t)
diff(f,s)
✍
Jacobian矩阵的计算
symsrf
x=r*cos(f);y=r*sin(f);z=r*sin(l);
J=jacobian([x;y],[rf])
求导指令操作目录
极限操作
symsxn
limit((1+x/n)^n,n,inf)
单边极限
(左极限)
limit(x/abs(x),x,0,'left')
(右极限)
limit(x/abs(x),x,0,'right')
limit(x/abs(x),x,0)
极限操作命令汇总
积分
求解不定积分的困难
☺不定积分可能不存在
☺不定积分可能是一个不熟悉的函数
☺不定积分可能存在,但Matlab不能找到它
☺在超级计算机上可以找到,但在通用机器上由于运算时间和内存的限制,无法给出解
例:
已知
,求
方法一:
符号计算解法
symst
ft=exp(-sin(t));
sx=int(ft,t,0,4)
方法二:
数值解法
dt=0.01;
t=0:
dt:
4;
Ft=exp(-sin(t));
Sx=dt*cumtrapz(Ft);
Sx(end)
plot(t,Ft,'*r')
holdon
plot(t,Sx,'.k')
holdoff
序列/极数的符号求和
symsum
例1:
symsk
s1=symsum(1/k^2,1,inf)
例2:
symsxk
symsum(x^k,k,0,inf)
Taylor级数
如果
,Maclaurin级数
symsx
T=taylor(exp(x),5)%缺省为Maclaurin级数,不包含5阶表达式
pretty(T)%类似于打印格式显示taylor级数
taylor(exp(x),5,2)%taylor级数
taylor(exp(x),5,x,1)%taylor级数
解方程
求解代数方程
symsabcx
S=a*x^2+b*x+c;
solve(S)
✍S是符号表达式,能用findsym(S)来确定变量
✍默认S是等于0的方程
solve(S,b)%指定一个变量解方程
✍若方程右边不等于0,利用如下方式
solve('a*x^2+b*x+c=1')
方程组的求解
symsxyalpha
[x,y]=solve(x^2*y^2,x-y/2-alpha)
单个微分方程的求解
dsolve
✍D默认来表示微分,D2、D3…
✍缺省的独立变量是t
✍因变量由D之后来指定
例:
D2y表示
例1:
dsolve('Dy=t*y')
y=dsolve('Dy=t*y','y(0)=2')
例2:
y=dsolve('D2y=cos(2*x)-y','y(0)=1','Dy(0)=0','x');
simplify(y)%独立变量改为x
多个微分方程
例:
[f,g]=dsolve('Df=3*f+4*g,Dg=-4*f+3*g','f(0)=0,g(0)=1');
simplify(f)
simplify(g)
例:
用matlab定义和图形化函数
,
符号变换和符号卷积
傅里叶变换及反变换
命令格式如下:
Fw=fourier(ft,t,w)
ft=ifourier(Fw,w,t)
例:
根据Fourier变换定义,用积分指令求方波脉冲
的Fourier变换。
Fourier变换
symsAtw
symstaupositive
y_t=heaviside(t+tau/2)-heaviside(t-tau/2);
Y_w1=fourier(A*yt,t,w)
Y_w2=simple(simple(Y_w1))
Fourier反变换
Y_t1=ifourier(Y_w1,w,t)
Y_t2=simple(Y_t1)
曲线绘制(设tau=1,A=1)
Y_t3=subs(Y_t2,[A,tau],[1,1]);
Y_w3=subs(Y_w2,[A,tau],[1,1]);
subplot(2,1,1)
Ht=ezplot(Y_t3,[-2,2]);
set(Ht,'color','b','LineWidth',2)
subplot(2,1,2),ezplot(Y_w3,[-10,10])
Laplace变换及其反变换
Fs=laplace(ft,t,s)
ft=ilaplace(Fs,s,t)
Z变换及其反变换
Fz=ztrans(fn,n,z)
fn=iztrans(Fz,z,n)
符号计算结果的可视化
☺利用计算获得的符号表达式直接绘图
☺据获得的符号表达式或符号数值结果,进而转换得到数值数据,再利用matlab的数值绘图指令绘制所需的图形
单独立变量符号函数的可视化
ezplot(Fx,[xmin,xmax,ymin,ymax])%在指定
和
范围内,绘制
描写的平面曲线
ezplot(Fxy,[xmin,xmax,ymin,ymax])%在指定
和
范围内,绘制
描写的平面曲线
例:
绘制
和它的积分
在
间的图形。
symsttau
y=2/3*exp(-t/2)*cos(sqrt(3)/2*t);
s=subs(int(y,t,0,tau),tau,t);
subplot(2,1,1)
ezplot(y,[0,4*pi])
gridon%坐标纸上打网格
subplot(2,1,2)
ezplot(s,[0,4*pi])
gridon
title('s=\int_0^ty(t)dt')%重命名子图图名
习题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 章数电