报错无法执行赋值,因为左侧的索引与右侧的大小不兼容

最短路径问题代码出现矩阵维度不一致,更改之后报错无法执行赋值,因为左侧的索引与右侧的大小不兼容

clc;clear;
A{1} = [5,3];
A{2} = [1,3,6;8,7,6];
A{3} = [6,8;3,5;3,3;8,4];
A{4} = [2,2;1,2;3,3];
A{5} = [3,5;5,2;6,6];
A{6} = [4;3];

B{1} = A{6};

cnt = 5;
for i = cnt:-1:6
[B{i},index] = min(A{i}+B{i+1}',[],5);
p{i} = index;
end
path(1) = P{1}
for i = 5:cnt
path(i) = p{i}(path(i-1));
end
disp("最短距离")
B{1}
disp("最短路径")
path

无法执行,无法执行赋值,因为左侧的索引与右侧的大小不兼容

我的解答思路和尝试过的方法:更改循环次数,但是无法达到解题要求

img


对上述问题求出最短路径,循环次数定义为5

循环体内path(i) = p{i}(path(i-1)); 查看一下右侧赋值长度是否等于左侧长度为1的单变量