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

조회 수: 8 (최근 30일)
皇家国际注册官网【微8785092】
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!