作业帮 > 综合 > 作业

matlab 一组数求导后波动大,怎么才能使其波动小一点.甚至没有波动!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/20 17:42:06
matlab 一组数求导后波动大,怎么才能使其波动小一点.甚至没有波动!
F=zeros(501,1);
fdEk1=500*diff(Ek1);
fdEk2=500*diff(Ek2);
fdEk3=500*diff(Ek3);
for j=1:1:500
dEk1(j+1)=fdEk1(j);
dEk2(j+1)=fdEk1(j);
dEk3(j+1)=fdEk1(j);
F(j)=(dEk1(j)+dEk2(j)+dEk3(j)-P1(j)-P2(j)-P3(j)-PG1(j)-PG2(j)-PG3(j))/(sqrt(Vkx(j)*Vkx(j)+Vky(j)*Vky(j)));
end
figure
plot(F)
把数据代码贴上来瞧瞧~
/(sqrt(Vkx(j)*Vkx(j)+Vky(j)*Vky(j))%这里是做类似于归一化的操作吧
嗯这个程序觉得应该问题不大
Vkx Vky Vkz 这里的数值还有前面
dEk1(j)+dEk2(j)+dEk3(j)
-P1(j)-P2(j)-P3(j)
-PG1(j)-PG2(j)-PG3(j)这是不是三种不同的数据?数据本身差异大连续性不好.后面画图效果就会出现你说的问题吧.
建议就是:
1、数据预处理,比如对原始数据做一些拟合,去掉一些点,做一些差值什么的;
2、或者就是对结果的F(j)作拟合吧,matlab有个拟合工具箱可以试一下.
help 一下 cftool 其他的我是没好办法来