[已解决] 无法进行赋值,左右侧大小不等

[复制链接]
Djc593367339 发表于 2019-4-12 20:00:23
A=xlsread('hz.xls');
B=[];
C=[];
counter=1;
temp=[];
flag1=0;
for i=1:1:length(A)
temp1=A(i);
if temp1>0
flag1=1;
end
temp=[temp,temp1];
if temp1==0 && flag1==1
B(:,counter)=temp;
temp=[];
counter=counter+1;
end
end
想将一列Excel数据按条件分段储存到一个矩阵中,运行以上代码报错

hz.xls

73.5 KB, 下载次数: 2


WarnerChang 发表于 2019-4-13 10:11:32
请问你想怎么存储的数据呢?看不懂你代码想干什么

Djc593367339 发表于 2019-4-13 11:34:38
WarnerChang 发表于 2019-4-13 10:11
请问你想怎么存储的数据呢?看不懂你代码想干什么

我想以0值为分割点将Excel表格数据分割成片段(数据片段首位都为零中间不为零),每个片段为一列储存到矩阵中然后在写入到一个新的Excel表,

WarnerChang 发表于 2019-4-13 13:31:52
Djc593367339 发表于 2019-4-13 11:34
我想以0值为分割点将Excel表格数据分割成片段(数据片段首位都为零中间不为零),每个片段为一列储存到矩 ...

A=xlsread('hz.xls');
index=find(A==0);
newindex=diff(index);
ind=find(newindex~=1);
B=cell(length(ind),1);
for ii=1:length(ind)
B(ii,1)={A(index(ind(ii)):index(ind(ii))+newindex(ind(ii)))};
end
这样就可以实现你的要求啦;
使用B{ii,1}就可以调用第ii列的数据
编码不易,望给个最佳答案,你的支持是我的动力!
回复此楼

Djc593367339 发表于 2019-4-13 15:45:14
WarnerChang 发表于 2019-4-13 13:31
A=xlsread('hz.xls');
index=find(A==0);
newindex=diff(index);

非常感谢大神的解答,按你给的代码数据片段是分好了,B中的数据片段如何按列依次写入新的Excel表格(第一个片段写入第一列第二个片段写入第二列以此类推)。小白刚接触matlab还不太会。如果用xlswrite写的话用什么命令能够使得Excel列坐标一次递增。

WarnerChang 发表于 2019-4-13 15:54:18
Djc593367339 发表于 2019-4-13 15:45
非常感谢大神的解答,按你给的代码数据片段是分好了,B中的数据片段如何按列依次写入新的Excel表格(第一 ...

你是一定要写在一个Excel中吗?

Djc593367339 发表于 2019-4-13 16:01:14
WarnerChang 发表于 2019-4-13 15:54
你是一定要写在一个Excel中吗?

对的所有分好的数据片段都写入一个Excel按列区分片段

WarnerChang 发表于 2019-4-13 17:13:59
Djc593367339 发表于 2019-4-13 16:01
对的所有分好的数据片段都写入一个Excel按列区分片段

噢噢,我试试哈

WarnerChang 发表于 2019-4-13 17:44:55
Djc593367339 发表于 2019-4-13 16:01
对的所有分好的数据片段都写入一个Excel按列区分片段

应该是不行,我尝试了很多,没有简便的方法

Djc593367339 发表于 2019-4-14 09:59:15
WarnerChang 发表于 2019-4-13 17:44
应该是不行,我尝试了很多,没有简便的方法

还是要感谢你耐心的解答

WarnerChang 发表于 2019-4-15 09:28:42
Djc593367339 发表于 2019-4-14 09:59
还是要感谢你耐心的解答

昨天想到了一个方法,你可以先利用一个循环,将元胞数组的每个元素转化为列向量,最后合成一个大矩阵,输出就好了,昨天网费没及时交,断网了,没逛论坛,不好意思哈

Djc593367339 发表于 2019-4-21 16:29:56
WarnerChang 发表于 2019-4-15 09:28
昨天想到了一个方法,你可以先利用一个循环,将元胞数组的每个元素转化为列向量,最后合成一个大矩阵,输 ...

好的  好的  我试试   没想到你还一直在思考这个问题   非常感谢
我暂时直接用单元数组处理数据  就不导出到Excel处理数据了  
最近老板催的紧 要结果 也没怎么逛论坛  没能及时看到你的回复   抱歉

WarnerChang 发表于 2019-4-21 16:46:05
Djc593367339 发表于 2019-4-21 16:29
好的  好的  我试试   没想到你还一直在思考这个问题   非常感谢
我暂时直接用单元数组处理数据  就不导 ...

哈哈,一起思考,一起进步!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表