matlab中函数内的数组问题

时间:2016-02-23 01:52:25

标签: arrays matlab function

我想创建一个以数组中前两个元素开头的函数,然后从它们创建Fibonacci序列,但它会创建一个带有小数等的奇怪矩阵,并且它的数量是它的两倍我想要的每一列。当我查看它时,这是我在努力完成文档后想出来的。

我几乎没有使用MATLAB的经验,而且我已经习惯了python。我还没有能找到真正解决我问题的任何东西。或者帮助。

function [f,s] = fibb(nmax)
f = array(1,0);
% first two items in array are 0 and 1 respectively
for n = 3 : 1 : nmax
    f(n) = [f(n-1) + f(n-2) newElem];
    % Adds new entry, entry is sum of previous two
end
s = sum(f);
% sum of the sequence

2 个答案:

答案 0 :(得分:0)

select max(id) from student 不是Matlab中的内置函数。此外,Fibonacci序列以sessionFactory.getCurrentSession().createQuery("select max(id) from student"); 开头。

尝试以下方法:

array

可能有一种更有效的方法,但这应该是您的代码的工作版本。

答案 1 :(得分:0)

作为RPM编写的补充,我建议您预先分配f矢量以使其更快地工作。只需将f = [1,1]命令替换为下面的命令:

f = ones(1,nmax);

否则,matlab必须在每个循环中动态增加向量的大小,使你的函数变慢。