Chebyshev differential matrices code not callable

4 ビュー (過去 30 日間)
Lukgaf
Lukgaf 2018 年 3 月 19 日
コメント済み: Lukgaf 2018 年 3 月 19 日
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.
Lukgaf
Lukgaf 2018 年 3 月 19 日
Thanks

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by