中易网

matlab处理数据

答案:1  悬赏:80  
解决时间 2021-03-08 17:59
昨天一朋友根据第一个表编了matlab程序,实现了功能,
clc;clear
A=xlsread('E:/data/mydata.xlsx','Sheet1','A1:B15');%假设数据放在E:/data/mydata.xlsx的Sheet1的A1:B15区域。
a=A(:,1);b=A(:,2);
k=find(diff(b)~=0);
ind=a(k);n=length(ind);
B(n+1,3)=0;
if b(1)==1
B(:,1)=[0;ind];
B(:,2)=[ind;a(end)];
B(1:2:end,3)=1;
B(2:2:end,3)=2;
elseif b(1)==2
B(:,1)=[0;ind];
B(:,2)=[ind;a(end)];
B(1:2:end,3)=2;
B(2:2:end,3)=1;
else
error('数据有误')
end
B
但是实际上B列的数据不仅仅是1和2,有好多种,那么怎么弄?







最佳答案
参考代码
a = [0; A(:,1)]; b = [A(1,2); A(:,2)];
ind = [1; find(diff(b)~=0); length(b)];
B = [a(ind(1:end-1)) a(ind(2:end)) b(ind(2:end))] 
运行结果
对于第一个文件的运行结果:
B =
     0   100     1
   100   120     2
   120   160     1
   160   220     2
   220   380     1对于第二个文件的运行结果:
B =
     0   140     2
   140   160    -3
   160   180    -2
   180   260     1
   260   300     2
   300   340     1
   340   380     2 
说明
1、读写Excel文件不是本题的关键,这里省略不提。
2、第二题结果的B(end,1)与你图中给出的不同,按照其它数据的规律,我认为是你的错了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
江西樟树到宁夏银川怎么转火车?
粟裕故居停车场地址在什么地方,想过去办事
智能双语幼儿园这个地址在什么地方,我要处理
[Oracle JDBC Driver][Oracle]ORA-06575:
360手机助手与腾讯的应用宝,哪个好,哪个用
苹果6plus怎么添加桌面插件
汽车票可以网上买吗
有关假发的问题
鑫贡生牛肉小吃店这个地址在什么地方,我要处
成都贾德渊做鼻子怎么收费喃?
1977年2月初5农历是什么星座 告诉我吧
熊出没里的松鼠是谁
梦幻西游17173喊话器
缤智1.5仪表盘 绿色的那一圈底色可以更换吗?
《焚天》txt全集下载
推荐资讯
实心钢棒和空心方钢哪个能
蛮横的横是第几声调
助理医师考试网上缴费怎么缴
在括号里填上动词( )文字
名侦探柯南中服部平次最后怎么了?
刚刚出生九天的小泰迪 感冒了 怎么办
安装一个进口的心脏起搏器河北邯郸给报销吗?
我写了一篇作文,在打印之后发现破折号变成了
从徐州到湖南长沙的火车有直达吗?说的详细点
哪个电子邮箱最火?
柠檬白糖白醋加水能洗脸吗
古代足球用什么材料做的啊
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?