我对如何正确设置此方程感到困惑。求V(i,j)的值。最终结果将是绘制随时间变化的V。我知道需要循环才能使该方程起作用,但是在设置它时我迷失了方向。基本上,我正在尝试将n = 1到pg_largeobject
的无穷大
我本来以为我应该让while循环使n增加1,直到我说10左右,才知道输出是什么样子。所有变量都是未知的,并再次添加了值以查看曲线图。
我记下另一个代码,其中方程式仅取决于i和j。但是,有了这n个词,我就被甩了。关于建立方程式,任何建议都很好。谢谢。
(1-(-1)^n)/(n^4 *pi^4)*sin((n*pi*c*j)/L)*sin((n*pi*i)/L)
答案 0 :(得分:2)
各种方法:
1)一次计算最多Nmax
的总和:
Nmax = 30;
Vijn = @(i,j,n) R*((1-(-1)^n)/(n^4 *pi^4)*sin((n*pi*c*j)/L)*sin((n*pi*i)/L));
i = 1:31;
j = 1:50;
n = 1:Nmax;
[I,J,N] = ndgrid(i,j,n);
V = arrayfun(Vijn,I,J,N);
Vc = cumsum(V,3);
% now Vc(:,:,k) is sum_n=1^{k+1} V(i,j,n)
figure(1);clf;imagesc(Vc(:,:,end));
2)无限循环
n = 1;
V = 0;
i = 1:31;
j = 1:50;
[I,J] = meshgrid(i,j);
while true
V = V + R*((1-(-1)^n)/(n^4 *pi^4)*sin((n*pi*c*J)/L).*sin((n*pi*I)/L));
n = n + 1;
figure(1);clf;
imagesc(V);
title(sprintf('N = %d',n))
drawnow;
pause(0.25);
end
请注意,在您的示例中,您不需要很多术语,因为:
n
,项1-(-1)^n
也是零)。1/n^4
衰减。在规范中:n=1
贡献〜2e4,n=3
贡献〜4e2,n=5
贡献5e1,n=7
贡献〜14,依此类推。在视觉上,{{ 1}}和n=1
+ n=1
,但对于n=3
+ n=1
+ n=3
来说,几乎没有什么意义。