Chebyshev Differentiation Matrix without using function 'cheb'
5 次查看(过去 30 天)
显示 更早的评论
May I ask if there is any way to create a Chebyshev Differentiation Matrix code without using 'cheb' ?
0 个评论
回答(1 个)
Sufiyan
2023-3-30
Hi,
You can refer to the code below.
% Set up the domain
N = 10; % Number of points in the domain
x = cos(pi*(0:N-1)/(N-1))'; % Chebyshev nodes
% Compute the differentiation matrix
D = zeros(N);
for k=1:N
for j=1:N
if k~=j
D(k,j) = ((-1)^(k+j))/(x(k)-x(j));
end
end
end
D = D - diag(sum(D,2)); % Set the diagonal elements
% Test the differentiation matrix
f = @(x) sin(5*x);
df_true = @(x) 5*cos(5*x);
df_approx = D*f(x);
error = norm(df_true(x) - df_approx,inf);
fprintf('Error: %e\n',error);
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!