Aid to homeword 3.1 Problem 1

This commit is contained in:
2018-10-10 12:27:33 -04:00
parent 92e796df06
commit 2a245cbef2
2 changed files with 90 additions and 0 deletions

63
Homework/Homework311.m Normal file
View File

@@ -0,0 +1,63 @@
%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