当前位置:编程学习 > Matlab >>

MATLAB出现??? Error using ==> vertcat是怎么回事?

??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. clc,clear a=[390.6,412,320,559.2,380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]; t0=find(a<=320); t1=cumsum(t0);n=length(t1); B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end); r=B\Y y=dsolve('Dy+a*y=b','y(0)=y0'); y=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)}); yuce1=subs(y,'t',[0:n+1]) digits(6),y=vpa(y) %为提高预测精度,先计算预测值,再显示微分方程的解 yuce=diff(yuce1); yuce=[t0(1),yuce]
追问:试了,还是不行,出现其他错误了
??? Error using ==> maple
Error, numeric exception: division by zero

Error in ==> sym.subs at 219
         NEWf = sym(map2mat(maple('evalm',NEWf)));谢了,我已经调试好了,把数组a=[390.6,412,320,559.2,380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5];
横的换成竖的就可以了。
[390.6
412
......
]
答案:B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];
这句话不对,两个数组不匹配。
试试:B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(1,n-1)];
或者改成别的,让数组的横纵坐标合适。

别的问题不知道了。
其他:你可以去MATLAB的workspace里双击这个矩阵查看一下你就知道你的矩阵有没有问题了。。。 

上一个:求各位高手:1.用matlab编写命令文件:计算1+2+3+.......+n<1000的最大值!!!
下一个:matlab M文件编辑的时候,运行错误,文件如下

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,