Conversion to function_handle from double is not possible.
Show older comments
The error is "The following error occurred converting from function_handle to double:" and it has problem on line 20 of code that I attached. Does anyone can help to fix this code? please.
function [x,w]=gauss_legendre(n)
syms p%legendre polynomial vector
syms polmat % Jacobi matrix
syms y% independent variable
p=zeros(n,1);
polmat=zeros(n,n);
i=1;
while(i<=n) %generate Jacobi matrix
if(i<=(n-1))
polmat(i,i+1)=sqrt((i^2)/((4*(i^2)) -1));
end
if(1<i)
polmat(i,i-1)=sqrt(((i-1)^2)/((4*((i-1)^2)) -1));
end
i=i+1;
end
i=3;
p(1,1)=1/sqrt(2); %first Legendre polynomial
p(2,1)=@(y) sqrt(3/2)*y; %second Legendre polynomial
while(i<=n) %generate Legendre polynomial by induction
p(i,1)=@(y) (sqrt((4*(i-1)^2) -1)/(i-1)) *(y*p(i-1,1)-(i-2)*p(i-2,1)/sqrt((4*(i-2)^2) -1));
i=i+1;
end
x=eig(polmat); %get eigenvalues as vector form
i=1;
w=zeros(n,1); %initialize weights as vector form
while(i<=n)
y=x(i,1); %input value to y
w(i,1)=(norm(p(y)))^(-2);%This form is calculated at problem 3
i=i+1;
end
end
Accepted Answer
More Answers (1)
tutkuçiçek duruer
on 11 Jun 2020
0 votes
x1=0.1
x2=0.5
x3=5
f(x1)=30.20
f(x2)=7
f(x3)=10.6
x4=x2-0.5*((((x2-x1)^2)*(f(x2)-f(x3)))-((x2-x3^2)*(f(x2)-f(x1)))/(((x2-x1))*(f(x2)-f(x3)))-((x2-x3)*(f(x2)-f(x1))))
Conversion to function_handle from double is not possible.
what can ı do
Categories
Find more on 기호와 수치 간 변환 in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!