Chebyshev differential matrices code not callable

1 次查看(过去 30 天)
This is the code by tretfen (cheb.m):
% CHEB compute D = differentiation matrix, x = Chebyshev grid
function [D,x] = cheb(N)
if N==0, D=0; x=1; return, end
x = cos (pi*(0:N)/N)';
c = [2; ones(N-1,1); 2].*(-1).^(0:N)';
X = repmat(x,1,N+1);
dX = X-X';
D = (c*(1./c)')./(dX+(eye(N+1))); % off-diagonal entries
D = D - diag(sum(D')); % diagonal entries
  2 个评论
Walter Roberson
Walter Roberson 2018-3-19
What parameter are you passing? What error message are you encountering?
Lukgaf
Lukgaf 2018-3-19
Thanks, Not enough input arguments.
Error in cheb (line 4)
if N==0, D=0; x=1;

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2018-3-19
You have to go down to the command line and call the function passing in a non-negative integer. For example,
[differ_matrix, cheb_grid] = cheb(19)
  3 个评论
Walter Roberson
Walter Roberson 2018-3-19
I stored the code you posted in the file cheb.m and then I went to the command line and there I commanded
[differ_matrix, cheb_grid] = cheb(19)
and I got back results.
You cannot run that function just by clicking on the green Run button: you must go to the command line to run it so that you can pass in a value for N.

请先登录,再进行评论。

更多回答(0 个)

类别

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