Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PIERWSZE:
- LAGRANGE:
- godzina = [5,6,8,11]
- temp = [ -2,3,7,10]
- y = [5:0.1:11]
- for g = 1:61
- A = ones (1,4)
- B = ones (1,4)
- for i = 1:4
- for k = 1:4
- if (i~=k)
- A(i)=A(i)*(y(g)-godzina(k))
- B(i)=B(i)*(godzina(i)-godzina(k))
- end
- end
- L(i,g)=A(i)/B(i)
- end
- end
- T=zeros(1,61)
- for g = 1 : 61
- for i = 1 : 4
- T(g)=T(g)+temp(i)*L(i,g)
- end
- end
- .....................................
- NEWTON:
- godzina = [5,6,8,11]
- temp = [ -2,3,7,10]
- god = [5:0.1:11]
- N=4
- d(:,1)=temp';
- for j=2:N
- for i=j:N
- d(i,j)= ( d(i-1,j-1)-d(i,j-1)) / (godzina(i-j+1)-godzina(i));
- end
- end
- a = diag(d)';
- A2 = ones (1,61)
- for i=1:61
- for k= 1 :4
- A2(i)=A2(i)*(god(i)-godzina(k))
- end
- end
- for g= 1:61
- T2(g)=-2+(5*(god(g)-5))-((god(g)-5)*(god(g)-6))+((4/30)*(god(g)-5)*(god(g)-6)*(god(g)-8))
- end
- hold all
- plot(god,T2)
- plot(god,T)
- plot(godzina,temp,'*')
- ..............................................................................
- DRUGIE:
- x=(-5:0.01:5);
- y=1./(1+x.^2);
- xk=-5:1:5;
- yk=1./(1+xk.^2);
- yi= interp1(xk,yk,x,'linear')
- xk = xk';
- yk = 1./(1+xk.^2);
- cs = spline( xk', [0 yk' 0] );
- y3 = ppval( cs, x );
- plot(x,y,xk,yk,'o',x,yi,'r--',x,y3);
- ....................................................................
- TRZECIE:
- clear all
- f1=50;
- f2=150;
- f3=10000;
- for n=0:9999
- x(n+1)=sin((2*pi*f1*n)/f3)+0.5*sin((2*pi*f2*n)/f3);
- end
- R=5;
- N=10000;
- xr=zeros(1,N);
- for n=0:R:N-1
- xr(n+1)=x(n+1);
- end
- M=1000;
- for m=-M:1:M
- h(m+M+1)=(sin((pi*m)/R))/((pi*m)/R);
- end
- h(M+1)=1;
- xe=conv(xr,h);
- for n=2*M+1:12000-2*M
- xem(n-2*M)=xe(n);
- end
- for n=M+1:N-M
- xm(n-M)=x(n);
- end
- ........................................
- function [ ] = lab4_3( R, M )
- %UNTITLED Summary of this function goes here
- % Detailed explanation goes here
- f
- 1 = 50;
- f2 = 150;
- fs = 10000;
- for n = 0:9999;
- x(n+1) = sin(2*pi()*f1 * n / fs) + 0.5*sin(2*pi()*f2*n/fs);
- end
- plot(x)
- hold on
- input('')
- xr(10000)=0;
- for n=0:R:9999
- xr(n+1) = x(n+1);
- end
- plot(xr, 'g')
- hold off
- input('')
- h(M+1)=1;
- for m=1:M
- h(m) = sinc(pi()*(M+1-m)/R);
- h(m+M+1) = sinc(pi()*m/R);
- end
- plot(h)
- input('')
- xe=conv(xr, h);
- xe2 = xe(2*M:length(xe)-2*M);
- x2 = x(M:length(x)-M);
- plot(xe2-x2, '-')
- input('')
- %plot(x2)
- %hold on;
- %plot(xe2, '-g');
- % length(x2)
- % length(xe2)
- %plot(abs(abs(xe2) - abs(x2)), '.');
- %plot(h);
- %plot(xd)
- end
- ..............................
- fp=10000;
- f1=50;
- f2=150;
- for i = 1:10000
- iks(i)=sin((2*pi*f1*i)/fp)+1/2*sin((2*pi*f2*i)/fp);
- end
- R1=5;
- R2=10;
- R3=25;
- iks1=iks;
- iks2=iks;
- iks3=iks;
- for i = 1:10000
- if (rem(i,R1)~=0)
- iks1(i)=0;
- end
- end
- for i = 1:10000
- if (rem(i,R2)~=0)
- iks2(i)=0;
- end
- end
- for i = 1:10000
- if (rem(i,R3)~=0)
- iks3(i)=0;
- end
- end
- M=1000;
- for m=-M:M
- h1(m+M+1)=(sin((pi*m)/R1))/((pi*m)/R1);
- end
- h1(M+1)=1;
- for m=-M:M
- h2(m+M+1)=(sin((pi*m)/R2))/((pi*m)/R2);
- end
- h2(M+1)=1;
- for m=-M:M
- h3(m+M+1)=(sin((pi*m)/R3))/((pi*m)/R3);
- end
- h3(M+1)=1;
- splot1 = conv(iks1,h1);
- splot2 = conv(iks2,h2);
- splot3 = conv(iks3,h3);
- splot1 = splot1(2*M:end-2*M);
- splot2 = splot2(2*M:end-2*M);
- splot3 = splot3(2*M:end-2*M);
- iks=iks(M:end-M);
- iks1=iks1(M:end-M);
- iks2=iks2(M:end-M);
- iks3=iks3(M:end-M);
- subplot(3,1,1); plot(iks)
- subplot(3,1,2); plot(iks3)
- subplot(3,1,3); plot(splot3)
- zaba=zeros(1,N);
- for i=0:N-1
- for k =0:(N/R1-1)
- zaba(i+1)=zaba(i+1)+iks(k*R1+1)*(sinc((i-k*R1)/R1));
- end
- end
- ....................................................................................
- function f = newton(x, y, p)
- n = length(x);
- d(:,1)=y';
- for j=2:n
- for i=j:n
- d(i,j)= ( d(i-1,j-1)-d(i,j-1)) / (x(i-j+1)-x(i));
- end
- end
- a = diag(d)';
- Df(1,:) = ones(size(p));
- c(1,:) = a(1)*ones(size(p));
- for j = 2 : n
- Df(j,:)=(p - x(j-1)) .* Df(j-1,:);
- c(j,:) = a(j) .* Df(j,:);
- end
- f=sum(c);
- ....................................................................................
- function y=Lk(x,xk,k)
- n=length(x)-1;
- ni=length(k);
- L=ones(n+1,ni);
- for i=0:n
- for j=0:(i-1)
- L(j+1,:)=L(j+1,:).*(k-x(i+1))/(x(j+1)-x(i+1));
- end
- for j=i+1:n
- L(j+1,:)=L(j+1,:).*(k - x(i+1))/(x(j+1)-x(i+1));
- end
- end
- y = xk * L;
- ....................................................................................
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement