请问如何实现使用matlab对下面的一阶微分方程组进行拉普拉斯变换

请问如何实现使用matlab对下面的一阶微分方程组进行拉普拉斯变换,第1张

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function dxdt=zhidao_rk4_5(t,x)

global a b c d r

x1=x(1);

x2=x(2);

x3=x(3);

x4=x(4);

dxdt=[

a(x2-x1)+x4;

dx1-x1x3+cx2;

x1x2-bx3;

x2x3+rx4;

];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

在Matlab下面输入:

global a b c d r

a=1;

b=2;

c=3;

d=4;

r=5;

t_end=10; %时间计算的终点,即算到这个时间为止

x0=[1;1;1;1]; %x的初始值

[t,x]=ode45('zhidao_rk4_5',[0,t_end],x0);

使用canon函数

[As,Bs,Cs,Ds,T]=canon(sys,type)

其中sys为原系统模型,而返回的As,Bs,Cs,Ds位指定的标准型的状态方程模型,T为变换矩阵。这里的type为变换类型,有两个选项:

“modal”: 模型标准型为对角标准型。

“companion”: 模型标准型为伴随标准型

%matlab的代码,写的不是很好,仅作参考

x1=-04:001:04;

y1=-04:001:04; %生成复平面区域采样点,其中001为取样间隔,-04——04为绘图范围

[x,y]=meshgrid(x1,y1); %生成采样点矩阵

s=x+iy; %s成为复变量

Fs=abs(s/(s^2+1)); %计算Fs在各采样点的幅度

mesh(x,y,Fs); %以x,y,Fs分别为三个坐标轴,绘图

surf(x,y,Fs);

%下面求出Fs的原函数

syms s1;

Fs1=s1/(s1^2+1);

ft=ilaplace(Fs1) %得出Fs的原函数

title('Fs的曲面图')

colormap(hsv);

axis([-04,04,-04,04,0,055]);

rotate3d;

I=imread('cameramantif');

I=double(I);

fftI=fft(I(:));

RR=real(fftI); %取傅立叶变换的实部

II=imag(fftI); %取傅立叶变换的虚部

A=sqrt(RR^2+II^2);%计算频谱幅值

figure,plot(A)

fft2=fft2(I); %二维离散傅立叶变换

sfft2=fftshift(fft2); %直流分量移到频谱中心

RRR=real(sfft2); %取傅立叶变换的实部

III=imag(sfft2); %取傅立叶变换的虚部

A=sqrt(RRR^2+III^2);%计算频谱幅值

A=(A-min(min(A)))/(max(max(A))-min(min(A)))225;%归一化

figure; %设定窗口

imshow(A); %显示原图像的频谱

首先,z变换是一种数学变换,用来将一个系统的激励输入与响应输出之间的关系进行建模的一种数学手段。Matlab的z变换的实现原理与书上完全不同,Matlab的z变换是将激励输入和响应输出抽象为一个线性时不变系统,然后使用z变换描述该系统,可以用趋势线、极点或其他花样等来显示信号处理过程。而书上的z变换是时间域到频域的变换,是一种信号分析工具,用来观察并分析信号,并发现其中的幅频特性。因此,Matlab的z变换与书上的z变换是截然不同的概念,它们只有一个共同的名字-z变换。

f1,tf2]=zp2tf([],[-01,-02,-05],001);

>> h=tf(tf1,tf2)

Transfer function:

001

-----------------------------

s^3 + 08 s^2 + 017 s + 001

>> hd=c2d(h,01,'tustin')

Transfer function:

1201e-006 z^3 + 3604e-006 z^2 + 3604e-006 z + 1201e-006

-----------------------------------------------------------

z^3 - 2921 z^2 + 2845 z - 09231

Sampling time: 01

也可直接用tf生成z域传递函数,在参数中加入采样世间即可

请参照帮助help c2d;help tf

以上就是关于请问如何实现使用matlab对下面的一阶微分方程组进行拉普拉斯变换全部的内容,包括:请问如何实现使用matlab对下面的一阶微分方程组进行拉普拉斯变换、求用matlab将传递函数转化为约旦标准型的程序。其中G(s)=(As+B)/(Cs+D)、MATLAB画出f(s)拉普拉斯变换F(s)=s/(s^2+1)的曲面图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9290328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存