HELP need to run Chebyshev code!
Ältere Kommentare anzeigen
I have been trying to run the following code in MATLAB but to no avail. My version is really outdated. R2007b
%%Matlab code for Chebeval
clc
clear all
%all given x
x=linspace(-1,1,101);
%N=5;
N=5;
%chebeval matrix for given N
mat=chebeval(x,N);
%plotting all N=0 to 5
for i=1:N+1
str{i}=sprintf('N=%d',i-1);
hold on
plot(squeeze(mat(i,:)))
end
legend(str)
%function for chebeval
function mat=chebeval(x,N)
syms xx
T0(xx)=1+0*xx;
T1(xx)=xx;
mat(1,1:length(x))=ones(1,length(x));
mat(2,1:length(x))=T1(x);
for i=3:N+1
T2(xx)=2*xx*T1(xx)-T0(xx);
mat(i,1:length(x))=T2(x);
T0=T1;
T1=T2;
end
end
When I ran the code from the Editor window, I get the following message:
??? Error: File: ChebevalNUMAssignment1.m Line: 18 Column: 1
Function definitions are not permitted at the prompt or in scripts.
And if paste it and run it from the command window, I get the following message:
??? Undefined function or method 'chebeval' for input arguments of
type 'double'.
So, what should I do? Please help me, I tried so many times and I am new to MATLAB
5 Kommentare
Dyuman Joshi
am 22 Sep. 2022
Do you have the symbolic toolbox?
Also, I would recommend you to first make a function file and then call the function from commond window.
Beata Dongwi
am 22 Sep. 2022
Dyuman Joshi
am 22 Sep. 2022
@Beata Dongwi, even if you follow my instructions, you will get an error, as using syms() function requires symbolic toolbox.
Also, Symbolic toolbox (or any other toolbox for that matter) doesn't come inbuilt with MATLAB. You have to install a toolbox manually.
Beata Dongwi
am 22 Sep. 2022
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Code Performance finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!