Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Adrian_cz2
- C1=0.000000032;
- C2=0.000000032;%F%
- R1=1000;%Ohm%
- R2=1000;%Ohm%1
- dx=400;
- poch1=[];
- poch2=[];
- dx=1;
- %deklaracje
- x1 = input('Enter the value of x1: ');
- x2 = input('Enter the value of x2: ');
- %sprawdzam wymagania funkcji
- %funkcja okreslona
- %różne znaki na krancach przedziału
- a1=fx(R1,R2,C1,C2,x1);
- a2=fx(R1,R2,C1,C2,x2);
- if(a1*a2<0)
- fprintf('różne znaki na koncach przedzialow\n')
- else
- fprintf('takie same znaki na koncach przedzialow\n')
- return
- end
- %wyznaczanie odleglosci dx dla warunku 1% różnicy
- pochodna1=1;
- pochodna2=2;
- while(abs(pochodna2- pochodna1)>pochodna1*0.01)
- y1=fx(R1,R2,C1,C2,x1);
- y2=fx(R1,R2,C1,C2,x1+dx);
- pochodna1=((y2-y1)/dx);
- dx=dx/2;
- y2=fx(R1,R2,C1,C2,x1+dx);
- pochodna2=((y2-y1)/dx);
- end
- fprintf('dx= %f\n',dx)
- %koniec wyznaczania dx
- %szukanie zmiany znaku pochodnej
- xp1=x1;
- xp2=x2;
- y1=fx(R1,R2,C1,C2,xp1);
- y2=fx(R1,R2,C1,C2,xp1+dx);
- pochodna1=((y2-y1)/dx);
- y1=fx(R1,R2,C1,C2,xp2-dx);
- y2=fx(R1,R2,C1,C2,xp2);
- pochodna2=((y2-y1)/dx);
- if (pochodna1*pochodna2)<0
- fprintf('pochodna pierwsza zmienia znak, warunek niespełniony\n')
- else
- fprintf('pochodna pierwsza nie zmienia znaku, warunek spełniony\n')
- end
- %szukanie zera z dokladnoscia
- do = true;
- xx1=x2;
- while do
- %xi1=x1;
- %xi2=x2;
- %yi1=fx(R1,R2,C1,C2,xi1);
- %yi2=fx(R1,R2,C1,C2,xi2);
- %xi3=x2-y2*((xi2-xi1)/(yi2-yi1));
- %fprintf('%f\n',xi3)
- yy1=fx(R1,R2,C1,C2,xx1);
- yydx=fx(R1,R2,C1,C2,xx1+dx);
- dy=(yydx-yy1)/dx;
- xx2=xx1-(yy1/dy);
- if(abs(xx2-xx1)<0.000001)
- fprintf('%f\n',xx2)
- do=false;
- else
- fprintf('%f\n',xx2)
- xx1=xx2;
- end
- end
- fprintf('miejsce zerowe dla podanej funkcji wynosi %f\n',xx2)
- function [func1] = fx(R1,R2,C1,C2,x)
- func1=(0.7017-abs((1/(R1*R2*C1*C2))/(((1j*2*pi*x)^2)+((1j*2*pi*x)*((1/(R1*C1))+(1/(R2*C1))+(1/(R2*C2))))+(1/(R1*R2*C1*C2)))));
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement