Odd symsum, loop or another way?
2 ビュー (過去 30 日間)
古いコメントを表示
Hi,
im looking for a way to sum only the odd numbers of this expression:
[x,y] = meshgrid(-1:0.1:1,-1:0.1:1);
u = zeros(size(x));
syms k;
f = -(16./pi.^3.*(sin(k.*pi.*(1 + x))./2)./((k.^3).*sinh(k.*pi))).*((sinh(k.*pi.*(1 + y))./2) + (sinh(k.*pi.*(1-y))./2));
u = double((1 - x.^2)./2 + symsum(f, k, 1,10));
surf(x,y,u);
..and im pretty lost on how to do it. Do i need to construct a loop for the symsum and how would i go about it?
0 件のコメント
採用された回答
darova
2020 年 6 月 26 日
use numerical approach
[x,y,k] = meshgrid(-1:0.1:1, -1:0.1:1, 1:2:5);
u = zeros(size(x));
f = -(16./pi.^3.*(sin(k.*pi.*(1 + x))./2)./((k.^3).*sinh(k.*pi))).*((sinh(k.*pi.*(1 + y))./2) + (sinh(k.*pi.*(1-y))./2));
u = double((1 - x(:,:,1).^2)./2 + sum(f,3);
surf(x(:,:,1),y(:,:,1),u);
その他の回答 (1 件)
Walter Roberson
2020 年 6 月 26 日
[x,y] = meshgrid(-1:0.1:1,-1:0.1:1);
u = zeros(size(x));
syms k K;
f = -(16./pi.^3.*(sin(k.*pi.*(1 + x))./2)./((k.^3).*sinh(k.*pi))).*((sinh(k.*pi.*(1 + y))./2) + (sinh(k.*pi.*(1-y))./2));
u = double((1 - x.^2)./2 + symsum(subs(f, k, 2*K-1), K, 1,5));
surf(x,y,u);
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!