Chebyshev differential matrices code not callable

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 Comments

What parameter are you passing? What error message are you encountering?
Thanks, Not enough input arguments.
Error in cheb (line 4)
if N==0, D=0; x=1;

Sign in to comment.

 Accepted Answer

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 Comments

solved thanks sir
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.

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Asked:

on 19 Mar 2018

Commented:

on 19 Mar 2018

Community Treasure Hunt

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

Start Hunting!