怎么用MATLAB编写差分方程的程序?

输入额e(k)=1;输出为u(k);k=1:1:100;
u(k)=173.2e(k)-346.3e(k-1)+173e(k-2)+1.951u(k-1)-0.9512u(k-2)

方程中涉及u(k-1)和u(k-2)两项,所以还必须给出初始状态u(0)和u(-1)。否则无法求解。
另外,e(k)=1是指k=1:100中e始终为1么?追问

初始时刻应该都是取0吧?e(0)=e(-1)=u(0)=u(-1)=0;e(k)表示单位阶跃输入;采样时间ts=0.0001;
time(k)=k*ts;
plot(time,e,'k',time,u,'k');

追答

我不管你的采样时间,只讨论离散部分。

e = zeros(102, 1); % 把-1和0也算进去,共102项
u = zeros(102, 1);
e(3:end) = 1;
for k = 3:102
u(k) = 173.2*e(k)-346.3*e(k-1)+173*e(k-2)+1.951*u(k-1)-0.9512*u(k-2);
end
% 去掉前两项,得到1...100的u
up = u(3:end);
ep = e(3:end);
stem(up);

温馨提示:内容为网友见解,仅供参考
无其他回答

关于matlab filter这个函数到底怎么用?
一、在MATLAB中,可以用函数y=filter(p,d,x)实现差分方程的仿真,即y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。 举例:实现差分方程,先从简单的说起:filter([1,2],1,[1,2,3,4,5]),实现y[k]=x[k]+2*x[k-1]...

怎么用matlab画如下差分方程的图
用matlab画差分方程的图形,可以用循环语句来实现。m=20; %可以自行设定 x=ones(1,4*m); %假设x(n)=1 k=0.3122;C=150.0247;KC=exp(-4*k)*C;for n=1:m;x(4*n)=KC*x(n);end n=1:4*m;plot(n,x)xlabel('n'),ylabel('x(n)')运行结果 ...

在MATLAB中利用filter函数在给定输入和差分方程时求差分方程的解。给...
在MATLAB中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。实现差分方程 先从简单的说起:filter([1,2],1,[1,2,3,4,5])实现 y[k]=x[k]+2*x[k-1]y[1]=x[1]+2*0=1%(x[1]之前状态都用0)y[...

怎么用matlab求差分
调用filter函数解差分方程。1)yn=filter(B,A,xn)是计算输入向量xn的零状态响应输出信号yn,yn与xn长度相等,其中B=[b0,b1,……bn], A=[a0,a1,……an]。其中a0=1。2)yn=filter(B,A,xn,xi)是计算全响应的函数。xi是等效初始条件的输入序列,xi能由初始条件确定。此时需要调用filtic函数。

怎么用matlab求解这道差分方程?
怎么用matlab求解这道差分方程?根据我的理解其基本思路是:1、根据差分方程式,写出迭代式,利用for循环语句和if判断语句来书写。即 for i=3:n if (k(i)-1)<0 uk1=0;else uk1=k(i)-1;end if (k(i)-2)<0 uk2=0;else uk2=k(i)-2;end y(i)=2*uk1-2*uk2+3*y(i-1)-...

用matlab画差分方程的图象,急!在线等
用MATLAB画出差分方程图像,应用for循环语句来求,当k为某值时对应的w值。然后再绘制其图形。实现方法如下:w(1)=100;for k=1:10 w(k+1)=0.975*w(k)-0.125*k+2.5;end k=1:11;plot(k,w)xlabel('k');ylabel('w(k)');...

查分方程在MATLAB中怎么输入
Matlab中的指标是从1开始计算的,这个差分方程用前三步的信息计算当前的信息,只要预先定义好初值a2,w,a3,a1,b1,y(1),y(2),y(3)和u(1),u(2),u(3)以及s(4)从k=4开始按循环这个式子计算就可以了 y(k)=(a2*cos(w*k)+a3*(y(k-2))^3*u(k-3))\/(1+a1*(y(k-1...

用matlab怎么解差分方程?
u=(1\/5)^n; %设置u为输入信号 U=ztrans(u); %z变换 y=diff_eq([1 -5 6],[0],[1 0],U); %解析解。y=simplify(y)其运行结果,y(n)=3*2^n - 2*3^n 例2:试用matlab求解差分方程,y(t+2)+y(t+1)-6y(t)=5*2^t,y(0)=1,其中y(0)=1,y(1)=0的解析值。...

MATLAB画出差分方程图像
用MATLAB画出差分方程图像,应用for循环语句来求,当k为某值时对应的w值。然后再绘制其图形。实现方法如下:w(1)=100;for k=1:10 w(k+1)=0.975*w(k)-0.125*k+2.5;end k=1:11;plot(k,w)xlabel('k');ylabel('w(k)');

matlab下二维泊松方程有限差分矩阵的构建
矩阵A结构复杂,包含五条对角线,中间有分块对角结构,表示中心差商、x向和y向的差分。稀疏矩阵存储仅保存非零元素,以减少存储空间需求。本文重点在于系数矩阵A的建立,采用Matlab实现。线性方程组求解通过内置算法完成。程序的主要部分是solvePoissonEquation_direct函数,输入格点数,输出网格、解矩阵等。

相似回答