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文件编辑的时候,运行错误,文件如下