声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1286|回复: 1

[分形与混沌] 【求助】请大家帮我看看这个程序怎么只出一个波形

[复制链接]
发表于 2010-11-3 11:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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);
回复
分享到:

使用道具 举报

发表于 2010-11-4 19:11 | 显示全部楼层
错误信息不是很明显么,你的矩阵长度不相等,你看一下Y1是多少列的。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-9 01:42 , Processed in 0.054430 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表