matlab中的函数实现

问题描述 投票:-1回答:1

我想使用41 * 41数组实现此函数𝑓[𝑛,𝑚] =(𝑎^(𝑛+𝑚)* u [𝑛],其中u [n] = 1,因为所有值都是正数,并且n,m从0到40,但是它给出了错误的值。

N=40
a=0.9
x =zeros(41,41)
for k=0:N
  for col = 1:41
    for row = 1:41
        x(row,col)=a.^(k+k)*1;
    end
  end
end
matlab implementation
1个回答
1
投票

您不需要k循环,索引将减少一。

N=41;
a=0.9;
u=1;
for m=1:N
  for n=1:N
    x(n,m)=a^(n-1+m-1)*u;
  end
end

如果要实际将其声明为函数,则可以删除上述代码中的前三行,然后按如下所示包装它。请确保将功能保存到其工作目录中的文件中,该文件名与功能名匹配。

function x=filename(a,N,u)
%Above code here.
end
© www.soinside.com 2019 - 2024. All rights reserved.