При использовании 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
Else, если это единственное, что вы делаете внутри цикла, вы просто не нужно.
function_array=polyval(p,gdp_p_h);
выполнит эту работу.
Узнайте, как писать for
петли здесь: http://uk.mathworks.com/help/matlab/ref/for.html
, что о 'function_array (конец + 1 :)'? –
Привет, ответил ли мой ответ? –
Да, это сработало отлично. Огромное спасибо! =) – lioli