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' ?

回答(1 个)

Sufiyan
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);

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by