|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function Y1 = Lorenz_response(tspan);%%计算处于响应地位的Lorenz系统的数值解,并由此画出其相图
yinit = [0.1,0.1,0.1];% 初始化输入
y(1:3) = yinit;
tstart = 0; % 时间初始值
tstep = 1e-1; % 时间步长
wholetimes = 1e2; % 总的循环次数
steps = 1; % 每次演化的步数
iteratetimes = wholetimes/steps; % 演化的次数
S=output;
results=zeros(iteratetimes,3);
error=zeros(iteratetimes,3);
for i=1:50;
tspan = tstart:0.5*tstep:(tstart + tstep*steps);
[T,Y1] = ode45('deng', tspan, y);
error(i,2:4)=Y1(3,:)-S(i+1,2:4);
error(i,1)=T(3)-S(i+1,1);
y = Y1(3,:);
y(1)=S(i+1,2);
tstart = tstart + tstep*steps; % 重新定义起始时刻
results(i,:)=Y1(3,:);
end
figure(1)
plot3(results(:,1),results(:,2),results(:,3));
error;
function s=output;
L=5;
n=0:(L-1);
a=1;
bit=5;
range=2^3;
tstart = 0; % 时间初始值
tstep = 1e-1; % 时间步长
wholetimes = 1e2; % 总的循环次数
tspan=tstart:tstep:wholetimes*tstep
[T,Y] = ode45('deng',tspan,[0.1 0.1 0.1]);
s=[T,Y];
interval=(a*2)/(range-1);
partition = [-a:interval:a];
interval2 = (a*2)/(range)
codebook=[-a:interval2:a];
[index quantized]= quantiz(s,partition,codebook);
%plot(n,s,'x',n,quantized,'.');
%legend('Original signal','Quantized signal');
s=(index-16)/4;
figure(2)
plot3(Y(:,1),Y(:,2),Y(:,3));
这个是经过AD与DA转换之后的程序!
错误:??? Index exceeds matrix dimensions.
Error in ==> Lorenz_response at 15
error(i,2:4)=Y1(3,:)-S(i+2,2:4); |
|