%This is a script to do the homework for 3.1 problem1 pkg load symbolic; syms x; x_list = [0, 0.6, 0.9]; xValue = 0.45; %Part a y_list = cos(x_list); f = cos(x); disp('a:') [P01, P12, P02] = LagrangePolynomialSymbolic(x_list, f); fEval = double(subs(f, xValue)); pEval = double(subs(P01, xValue)); disp('Error:') disp(['|f(x) - P01(x)| = |' num2str(fEval, '%9.9g') ' - ' num2str(pEval, '%9.9g') '| = ' num2str(abs(fEval - pEval), '%9.9g')]) pEval = double(subs(P02, xValue)); disp(['|f(x) - P02(x)| = |' num2str(fEval, '%9.9g') ' - ' num2str(pEval, '%9.9g') '| = ' num2str(abs(fEval - pEval), '%9.9g')]) %Part b y_list = sqrt(1 + x_list); f = sqrt(1 + x); disp('') disp('') disp('b:') [P01, P12, P02] = LagrangePolynomialSymbolic(x_list, f); fEval = double(subs(f, xValue)); pEval = double(subs(P01, xValue)); disp('Error:') disp(['|f(x) - P01(x)| = |' num2str(fEval, '%9.9g') ' - ' num2str(pEval, '%9.9g') '| = ' num2str(abs(fEval - pEval), '%9.9g')]) pEval = double(subs(P02, xValue)); disp(['|f(x) - P02(x)| = |' num2str(fEval, '%9.9g') ' - ' num2str(pEval, '%9.9g') '| = ' num2str(abs(fEval - pEval), '%9.9g')]) %Part c y_list = log(x_list + 1); f = log(x + 1); disp('') disp('') disp('c:') [P01, P12, P02] = LagrangePolynomialSymbolic(x_list, f); fEval = double(subs(f, xValue)); pEval = double(subs(P01, xValue)); disp('Error:') disp(['|f(x) - P01(x)| = |' num2str(fEval, '%9.9g') ' - ' num2str(pEval, '%9.9g') '| = ' num2str(abs(fEval - pEval), '%9.9g')]) pEval = double(subs(P02, xValue)); disp(['|f(x) - P02(x)| = |' num2str(fEval, '%9.9g') ' - ' num2str(pEval, '%9.9g') '| = ' num2str(abs(fEval - pEval), '%9.9g')]) %Part d y_list = tan(x_list); f = tan(x); disp('') disp('') disp('d:') [P01, P12, P02] = LagrangePolynomialSymbolic(x_list, f); fEval = double(subs(f, xValue)); pEval = double(subs(P01, xValue)); disp('Error:') disp(['|f(x) - P01(x)| = |' num2str(fEval, '%9.9g') ' - ' num2str(pEval, '%9.9g') '| = ' num2str(abs(fEval - pEval), '%9.9g')]) pEval = double(subs(P02, xValue)); disp(['|f(x) - P02(x)| = |' num2str(fEval, '%9.9g') ' - ' num2str(pEval, '%9.9g') '| = ' num2str(abs(fEval - pEval), '%9.9g')]) %Cleanup your variables clear P01 P12 P02 f fEval pEval x xValue x_list y_list