|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
非线性系统里在画幅频响应曲线的时候,有正着算和反着算问题,我正算和反算后好像图像是一样的,也不知道是不是程序的问题,请论坛里的前辈看看我的程序对不对?我感觉我的程序可能有问题,按照这个程序,正算和反算就应该是一样的好像
下面贴上我的程序,请大家帮忙看看
正着算的时候;
function zuidazhi
clear;
options=odeset('RelTol',1e-6,'AbsTol',1e-6);
for f=0.1:0.01:10
f
tt=1/f;
y0=[0,0,0,0];
for n=1:1500
[t,y]=ode45('qiujie411',[0,tt],y0,options,f);
y0=y(end,:);
end
for n=1:100
[t,y]=ode45('qiujie411',[0,tt],y0,options,f);
y0=y(end,:);
yd=abs(y(:,1));
yn(n)=max(yd);
end
hold on
plot(f,yn,'k.')
end
xlabel('频率/Hz','Fontsize',16);
ylabel('Xb/m','Fontsize',16');
反着算的时候:
function zuidazhi
clear;
options=odeset('RelTol',1e-6,'AbsTol',1e-6);
for f=10:-0.01:0.1
f
tt=1/f;
y0=[0,0,0,0];
for n=1:1500
[t,y]=ode45('qiujie411',[0,tt],y0,options,f);
y0=y(end,:);
end
for n=1:100
[t,y]=ode45('qiujie411',[0,tt],y0,options,f);
y0=y(end,:);
yd=abs(y(:,1));
yn(n)=max(yd);
end
hold on
plot(f,yn,'k.')
end
xlabel('频率/Hz','Fontsize',16);
ylabel('Xb/m','Fontsize',16');
请教前辈们,我这程序可有问题?这种程序图画出来时一样的。。。。。。。
|
|