gdp_p_h和p是向量。但出于某种原因,这不想工作。 我一直收到错误说:“A(I)= X:X必须和我一样大小”
for entry = gdp_p_h
function_array(end + 1) = polyval(p,entry)
end;
答案 0 :(得分:2)
使用polyval
时,如果条目是一个数组,它将返回相同大小的内容。
在你的情况下,你使用循环非常糟糕,因此条目将是一个完整的数组,而function_array(end+1)
只是一个数字,所以它不能存储数组。
2个选项:
如果你想保持循环(如果里面有更多东西),请正确编写!
我猜你想要:
for ii=1:length(gdp_p_h)
entry=gdp_p_h(ii);
function_array(end + 1) = polyval(p,entry);
end
否则,如果这是你在循环中做的唯一事情,你就不需要它。
function_array=polyval(p,gdp_p_h);
将完成这项工作。
在此处了解如何撰写for
循环:http://uk.mathworks.com/help/matlab/ref/for.html