24小时热门版块排行榜    

查看: 332  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

btliu

金虫 (小有名气)

[求助] Matlab问题

各位好!对excel内的数据进行选择处理,发现对比较简单的数据,下面的程序运行很好,但是对含小数位数比较多(小数很小)的数据则显示下面的信息:
??? Error using ==> horzcat
CAT arguments dimensions are not consistent.
Error in ==> Voltage at 32
NewArray=[zx,zy];

请告知错误信息,谢谢!
*************************************
x = data(:,1);
y = data(:,2);
subplot(2,1,1);
plot(x,y,x,y,'*');
xlabel('Time(s)');
ylabel('Voltage(V)');
zx =zeros(length(x),1);
zy =zeros(length(y),1);
h = 1;  
zx(1) = x(1);
zy(1) = y(1);
for k = 2:length(x)
    if abs(y(k)-zy(h))>= 0.0002
        h = h+1;
        zx(h) = x(k);
        zy(h) = y(k);
      
    end
    zx(h+1) = x(length(x));
    zy(h+1) = y(length(x));
end
zx(find(zx==0))=[];
zy(find(zy==0))=[];
NewArray=[zx,zy];
disp(NewArray);
subplot(2,1,2);
plot(zx,zy,zx,zy,'*');
xlabel('Time(s)');
ylabel('Voltage(V)');
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

btliu

金虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2012-12-14 16:49:04
??? Error using ==> horzcat
CAT arguments dimensions are not consistent.
Error in ==> Voltage at 32
NewArray=;
水平合并矩阵时,要保证2个矩阵的行数相同,例如都是3行才行,否则就会报这个错误
的 ...

zx和zy本来是成对出现的,如果删除之后行数不相同,能告知怎样改吗?谢谢!
3楼2012-12-14 20:45:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
??? Error using ==> horzcat
CAT arguments dimensions are not consistent.
Error in ==> Voltage at 32
NewArray=[zx,zy];

水平合并矩阵时,要保证2个矩阵的行数相同,例如都是3行才行,否则就会报这个错误
[zx,zy]的意思是将zy按照列合并到zx后面,你在合并之前有2个find(==0)=[]的删除操作,应该删除之后行数不相同了
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-12-14 16:49:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alazong

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
btliu: 金币+10, ★★★★★最佳答案 2012-12-15 09:13:06
把那两句改成这个
zy(find(zx==0))=[];
zx(find(zx==0))=[];
zx(find(zy==0))=[];
zy(find(zy==0))=[];
4楼2012-12-14 21:02:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见