早教吧作业答案频道 -->其他-->
初学matlab,遇到一个问题,就是前面定义了u但是没有定义u(i),怎么后面突然用上了直接用上了u(i)clearall;closeall;h=0.3;%设置步长l=15/h;%求得步数lz=[-1-2];p=[-4-0.5+j-0.5-j];k=2.5;[A,B,C,D]=zp2ss(z,p,
题目详情
初学matlab,遇到一个问题,就是前面定义了u但是没有定义u(i),怎么后面突然用上了直接用上了u(i)
clear all;
close all;
h=0.3; %设置步长
l=15/h; %求得步数l
z=[-1 -2];
p=[-4 -0.5+j -0.5-j];
k=2.5;
[A,B,C,D]=zp2ss(z,p,k); %将零极点转换成状态方程x'(t)=Ax(t)+Bu(t);y(t)=Cx(t)+Du(t);
u=1*ones(l,1);
u0=0 %设定初值
n=length(p); %求得极点的个数;对象阶次
x0=zeros(n,1); %x0初始值设为0
xe0=zeros(n,1); %Xe0初始值也设为0
for i=1:l
time(i)=i*h;
%欧拉法
xe=xe0+h*(A*xe0+B*u0);%X(k+1)=X(k)+h*f(X,t)
ye(i)=C*xe; %y=Cx
%Runge-Kutta
k1=A*x0+B*u0; %k1=f(x,u)
k2=A*(x0+h*k1/2)+B*u0;%k2=f(x+h/2,u+k1/2)
k3=A*(x0+h*k2/2)+B*u0;%k3=f(x+h/2,u+k2/2)
k4=A*(x0+h*k3)+B*u0; %k4=f(x+h,u+k3)
x=x0+h*(k1+2*k2+2*k3+k4)/6;
y(i)=C*x;
%updata datas
u0=u(i); %
x0=x;
xe0=xe;
end
plot(time,u,'k-',time,ye,':',time,y,'r');
xlabel('t');ylabel('y_r(t)、y(t)');
legend('y_r(t) ','Euler:y(t)','Runge-Kutta:y(t)');
clear all;
close all;
h=0.3; %设置步长
l=15/h; %求得步数l
z=[-1 -2];
p=[-4 -0.5+j -0.5-j];
k=2.5;
[A,B,C,D]=zp2ss(z,p,k); %将零极点转换成状态方程x'(t)=Ax(t)+Bu(t);y(t)=Cx(t)+Du(t);
u=1*ones(l,1);
u0=0 %设定初值
n=length(p); %求得极点的个数;对象阶次
x0=zeros(n,1); %x0初始值设为0
xe0=zeros(n,1); %Xe0初始值也设为0
for i=1:l
time(i)=i*h;
%欧拉法
xe=xe0+h*(A*xe0+B*u0);%X(k+1)=X(k)+h*f(X,t)
ye(i)=C*xe; %y=Cx
%Runge-Kutta
k1=A*x0+B*u0; %k1=f(x,u)
k2=A*(x0+h*k1/2)+B*u0;%k2=f(x+h/2,u+k1/2)
k3=A*(x0+h*k2/2)+B*u0;%k3=f(x+h/2,u+k2/2)
k4=A*(x0+h*k3)+B*u0; %k4=f(x+h,u+k3)
x=x0+h*(k1+2*k2+2*k3+k4)/6;
y(i)=C*x;
%updata datas
u0=u(i); %
x0=x;
xe0=xe;
end
plot(time,u,'k-',time,ye,':',time,y,'r');
xlabel('t');ylabel('y_r(t)、y(t)');
legend('y_r(t) ','Euler:y(t)','Runge-Kutta:y(t)');
▼优质解答
答案和解析
由这h=0.3; l=15/h;两句结果:l =50
u=1*ones(l,1);-----------产生50行1列的全1列向量
所以从这句以后,u就是一个有50个元素的全1列向量了
当然有u(1)、u(2).u(50)了
u=1*ones(l,1);-----------产生50行1列的全1列向量
所以从这句以后,u就是一个有50个元素的全1列向量了
当然有u(1)、u(2).u(50)了
看了 初学matlab,遇到一个问...的网友还看了以下:
初一数学边数请详细解答,谢谢!(815:35:55)如果一个多边形的最小的一个内角为120°,比它稍 2020-03-31 …
AA:=H>MA1ANDMA1>=REF(MA1,1)ANDBETWEEN(C/REF(C,1), 2020-04-26 …
一个初二数学问题(完全平方公式)1.欣赏下面的等式3²+4²=5²(1)请写出下一个由五个连续正整 2020-05-15 …
"以后每年5月初5"和"2000年前的一个5月初5"英文怎么说?"2000年前的一个5月初5,." 2020-06-22 …
初一数学5个数的平均数是138,把它们从小到大排列,前三个数的平数是127,末三个数的平均数是14 2020-07-18 …
求一个通达信5分钟平台突破预警公式:要求1、平台5分钟周期大于20个5分钟,振幅小于5%;2、第一 2020-07-23 …
这个whlie程序怎么编啊?初学者.2/1+3/2+5/3+8/5+13/8+21/13+33/21 2020-11-15 …
在研究物体做初速度为零的直线运动的某次实验中,纸带的记录如图所示,图中前几个点模糊,因此从A点开始每 2020-11-17 …
eagle~5不知道有人知不知道韩国很久以前有个组合叫eagle~5的`我找了好久都找不到呢`念书时 2020-11-25 …
英文搞笑短剧剧本(3~4个人)急我们英语老师要求上课前演个5~10分钟的英文小短句,高一水平的 2020-11-26 …