%自己编程剔除数据异常值
clear off
clc
X=[1 3 5 7 4 6 3 8 4 7 12 3 5 7 17 4 6 7 8 5 3]
ls=length(X)
K=3
figure(1)
plot(X)
for i=1:3
A1(i)=abs(X(i)-(X(i+3)+X(i+2)+X(i+1))/3)
Y1=[abs(X(i+3)-X(i+2))abs(X(i+3)-X(i+1))abs(X(i+1)-X(i+2))]
Y(i)=max(Y1')
if(A1(i)/Y(i)>K)
X(i)=(X(i+1)+X(i+2)+X(i+3))/3
else
end
end
for i=ls-2:ls
A2(i)=abs(X(i)-(X(i-1)+X(i-2)+X(i-3))/3)
Z1=[abs(X(i-3)-X(i-2))abs(X(i-3)-X(i-1))abs(X(i-1)-X(i-2))]
Z(i)=max(Z1')
if(A2(i)/Z(i)>K)
X(i)=(X(i-3)+X(i-2)+X(i-1))/3
else
end
end
for i=4:ls-3
A1(i)=abs(X(i)-(X(i-3)+X(i-2)+X(i-1))/3)
A2(i)=abs(X(i)-(X(i+1)+X(i+2)+X(i+3))/3)
Y1=[abs(X(i-3)-X(i-2))abs(X(i-2)-X(i-1))abs(X(i-3)-X(i-2))]
Y(i)=max(Y1')
Z1=[abs(X(i+3)-X(i+2))abs(X(i+3)-X(i+1))abs(X(i+1)-X(i+2))]
Z(i)=max(Z1')
if(A1(i)/Y(i)>K&A2(i)/Z(i)>K)
X(i)=(X(i-3)+X(i-2)+X(i-1)+X(i+1)+X(i+2)+X(i+3))/6
else
end
end
figure(2)
plot(X)
再来一个简单的
clc
clear all
load X
K=1N=length(X)
x=X
figure(1)
plot(x)
for i=4:N-3
if (x(i)-x(i-1)>K&x(i)-x(i-2)>K&x(i)-x(i-3)>K)
x(i)=(x(i-3)+x(i-2)+x(i-1)+x(i+1)+x(i+2)+x(i+3))/6
end
end
figure(2)
plot(x)
选择几本经典教材,对照书中的代码在按照自己的理解来编写一遍程序,这就是最好的学习方法。Matlab是一款十分有用的科学计算软件(也是一款不错的IDE),学好它对工作和科研都大有用处。下面我就从四个方面来介绍一下matlab入门时的一些学习要点。矩阵 *** 作。Matlab最为强大的的地方据在于它的矩阵计算能力,Matlab其他许多模块的计算也都是把运算转换为矩阵来计算的。要能够使用M语言对各式各样的矩阵运算进行 *** 作,最基本的要能用Matlab编写程序来完成线性代数课本上的所有习题。再高阶一点的可以用它来计算一些基础的高等数学习题。
M语言编程。Matlab不止能进行科学计算,同样能够用来编写各种程序(使用M语言)。学习Matlab,要能够编写GUI程序,能够对各类文件进行IO处理,能够熟练使用M语言对工作生活中的很多问题进行编程处理。能够做到这些对于初学者就很不错了。
数据可视化。Matlab中有丰富的工具来实现数据可视化,对于这些工具,要能够熟练掌握。对于常见的统计数据以及矩阵,能够按照要求以合理的方式呈现出来(可视化结果)。
科学计算。Matlab中有大量的科学计算工具。对于初学者而言,需要掌握插值拟合、数据拟合、微分方程求解、级数求解、方程组求解(包括非线性方程组)。只有掌握这些技术。才能够应付一些普通的工程技术(及科研)问题。
matlab需要学习的地方还有很多,欢迎打击关注太科罗技,并在下方积极留言讨论。
太科罗技
1880粉丝 · 1183赞
搜索
自学编程python方法
matlab基本编程步骤
从零开始学python编程
python 和matlab的区别
matlab小波滤波详解
初学matlab哪本书好
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)