我想问一下MATLA​B中矩阵的维度不一致​该怎么解决。

9 次查看(过去 30 天)
clc,clear
x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]';%注意这里为列向量
n=length(x0);
lamda=x0(1:n-1)./x0(2:n) %计算级比
range=minmax(lamda') %计算级比的范围
x1=cumsum(x0); %累加运算
B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];
Y=x0(2:n);
u=B\Y
x=dsolve('Dx+a*x=b','x(0)=x0');
x=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});
yuce1=subs(x,'t',[0:n-1]);
%为提高预测精度,先计算预测值,再显示微分方程的解
y=vpa(x,6) %其中的 6 表示显示 6 位数字
yuce=[x0(1),diff(yuce1)] %差分运算,还原数据
epsilon=x0'-yuce %计算残差
delta=abs(epsilon./x0') %计算相对误差
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda' %计算级比偏差值
大家能帮我看一下吗?这个程序运行过后,显示出矩阵维度不一致?这是一个灰色GM(1,1)模型,以前用同样的方法写代码没问题,这次为何突然矩阵的维度不一致?这该怎么解决?

采纳的回答

皇家国际注册账号【微8785092】
你X0只有7个数据,yuce有8个数据,因此维度不一样,你要查下为啥

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 软件开发工具 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!