完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
使用matlab编写一个处理数据的程序,想要具体算法是将一个excel表格中的数据第s,s+1,s+2这三个数进行比较(当然这里的s是从1取到最后的),然后如果s比s+1和s+2的和还要大,就令s等于s+1与s+2的平均值。然后判断整个数据中是否还存在这样的数据,在次进行处理,直到没有要处理的数据,将处理好的数据图像输出。我写了一个程序,但是好像有些问题,求大神给看看啦。
程序如下 date=xlsread('excel.xls');%对一个图进行处理。进行多次处理 n=size(date);%date的维数,通过维数判断要画出多少个图(有几列就是要画几个图),行数就是x的元素 n1=n(1,2);%n1是列数,画图的个数 m=n(1,1)-1; x=(0:m);%画图时x从0到m一共n(1,1)个数 M=m-1;%因为后面有s+1和s+2所以这里要再减1 for d=1:n1; i=1; %i为判断是否完成运算的标识位, while i q=0; for s=1:M;%将第d列的数据处理一遍 i=0; Date1=date(:,d); Datemax(s,1)=Date1(s,1);%第s行的值 Datemax1(s,1)=Date1(s+1,1);%第s+1行的值 Datemax2(s,1)=Date1(s+2,1);%第s+2行的值 if Datemax(s,1)>Datemax1(s,1)+Datemax2(s,1)%第s行比s+1行和s+2行的和还大,我们就将其舍去 Datemax(s,1)=(Datemax1(s,1)+Datemax2(s,1))/2; q=1;%是否进行数据处理的标志位 end end if q==1 i=1; end Datemax(s+1,1)=date(end-1,d); Datemax(s+2,1)=date(end,d); Date1=Datemax; end p=0:M+1; subplot(n1,1,d) plot(p,Datemax,':ok',x,Date1,'r') end |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
使用simulink进行三相短路故障分析时,各参数应该如何设置
1405 浏览 1 评论
想请教一下图中是simulink的什么模块,需要这种三段斜率函数模块但没找到在哪
1505 浏览 1 评论
2425 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
2690 浏览 0 评论
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
3518 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 21:13 , Processed in 0.803988 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号