背包问题Matlab动态规划求解程序报错 求指导 万分感谢!!

KnapSack1(v,w,n,W)
for w=0 to W V[0,w]=0; %将二维数组第一行赋值全零
for i=1 to n
for w=0 to W
if w_i<=w
V[i,w]=max(V[i-1,w],v_i+V[i-1,w-w_i])
%V[i,w]记录权值至少为w且最大的子集{1,2,...,n}
else
V[i,w]=V[i-1,w];
Return V[i,W];
end
end
end
end
%定义一数组keep[i,K]纪录所选择的物品。当第i个物品选中时,将其赋值为1,否则为0
K=W
for i=n downto 1 do
if keep[i,K]==1
{
output i;
K=K-w[i]
}
在命令窗口中输入:>>v=[10 40 30 50];w=[5 4 6 3];n=4;W=10
>>[V,out]=KnapSack(v,w,n,W)
时程序运行不了,求指导,谢谢!!