%Kolokwium 2a
disp('Autorem skryptu jest IK')
%A
%Interpolacje
x=[0 2 4 6 8 10];
y=[5 2.5 4.5 1.5 4 2.5];
xi=0:0.2:10;
% interpolacja liniowa
yi_lin=interp1(x,y,xi, 'linear');
%interpolacja funkcjami sklejanymi
yi_spline=interp1(x,y,xi, 'spline');
%interpolacja wielomianow trzeciego stopnia
yi_pch=interp1(x,y,xi,'pchip');
% wykresy
plot(x,y,'*', xi, yi_lin,'--r',xi,yi_spline,'--b', xi,yi_pch, '--g')
legend('wezly interpolacji', 'interpolacja liniowa', 'funkcja sklejana', 'wielomiany trzeciego stopnia' )
%B
%Oblicza pierwiastki funkcji
% y=log(x)-x^3*cos(x)-4 oraz minimum i maksimum.
% I wykres
y2=inline('log(x)-x^3*cos(x)+4');
figure(2), fplot(y2, [pi/2,pi], '-g')
y1=inline('0');
hold on, fplot(y1,[pi/2,pi],'-r')
% II wykres
y=inline('log(x)-x^3*cos(x)-4');
%---------------- rysuje wykres --------------
fplot(y, [pi/2,pi], '-b')
hold on, fplot(y1,[pi/2,pi],'-r')
% -----------oblicza miejsca zerowe-----------------
x0_1=fzero(y,2);
x0_2=fzero(y,3);
x0_3=fzero(y,1.9);
disp(strcat (['Pierwiastki funkcji to: ',num2str(x0_1),' , ', num2str(x0_2),' , ',num2str(x0_3),' .']))
% ----zaznacza na wykresie miejsca zerowe------------
plot(x0_1,0,'*m', x0_2,0,'*m', x0_3,0,'*m')
%--------------- oblicza minimum i maksimum---------
x_min=fminbnd(y,5,6);
y_max=inline('log(x)-x^3*cos(x)-4');
x_max=fminbnd(y_max,0,1.5);
disp(strcat (['Dla x= ',num2str(x_min),' funkcja osiąga minimum lokalne w przedziale <5;6> równe ',num2str(y(x_min))]))
disp(strcat (['Dla x= ',num2str(x_max),' funkcja osiąga maksimum lokalne w przedziale <0;1.5> równe ',num2str(y(x_max))]))
%C
%Obliczanie całki podwójnej za pomocą funkcji dblquad
x=[0:0.1:2];
y=[0:0.1:2];
[x,y]=meshgrid(x,y);
z=exp(x+y)*sin(x^2+y^2);
figure(3), surf(x,y,z);
Q = dblquad(inline('exp(x+y).*sin(x.^2+y.^2)'), 0, 2, 0, 2);
disp(['Wartość całki podwójnej wynosi : ',num2str(Q)])
%D
%równanie różniczkowe
MojaFunkcja=inline('(cos(t)).^2.*sin(t)./y');
[t,y]= ode45(MojaFunkcja,[0 2*pi],pi/2);
figure(4), plot(t,y)
%D
%kulka
MF=inline('((0,009043*9.81-MW* 9.81)/0.00617)-(0.006017/0.009043.*V)');
[t,y]= ode45(MojaFunkcja,[0 100],10);
figure(5), plot(t,y)