LABO 1 ANALISIS NUMERICO

download LABO 1 ANALISIS NUMERICO

of 17

description

ANALISIS NUMERICOANALISIS NUMERICOANALISIS NUMERICO

Transcript of LABO 1 ANALISIS NUMERICO

Graficas

Listado 2.1>> x = 0:0.05:10;>> y=sin(x).*exp(-0.4*x);>> plot(x,y)>> xlabel('x'); ylabel('y')

Listado 2.2>> y = sin(x).*exp(-0.4*x);>> x = (0:0.05:10)';>> y = sin(x).*exp(-0.4*x);>> plot(x,y)>> xlabel('x');ylabel('y')

Listado 2.3>> p=0: 0.05: 8*pi;>> z=(cos(p)+i*sin(2*p)).*exp(-0.05*p)+0.01*p;>> plot(real(z),imag(z))>> xlabel('Re(z)');ylabel('Im(z)')

Listado 2.4>> x=(0:0.4:10)';>> y=sin(x).*exp(-0.4*x);>> plot(x,y,'+')>> xlabel('x');ylabel('y')

Listado 2.5>> x=(0:0.2:10);>> y=sin(x).*exp(-0.4*x);>> plot(x,y)>> grid on>> xlabel('x'), ylabel('y')

Listado 2.6>> t=0:0.5:pi+.01;>> y=sin(3*t).*exp(-0.3*t);>> polar(t,y)>> title('Grafica polar')>> grid

Listado 2.7>> xlabel('x');ylabel('y')>> t=.1:.1:3;>> x=exp(t);>> y=exp(t.*sinh(t));>> loglog(x,y)>> grid>> xlabel('x');ylabel('y')

Listado 2.8>> t= .1:.1:3;>> semilogy(t,exp(t.*t)');>> grid>> xlabel('t'); ylabel('exp(t.*t)');

Listado 2.9>> t=.1:1:3;>> semilogx(t,exp(t.*t)');>> grid>> xlabel('t'); ylabel('exp(t.*t)');

Listado 2.10>> x=0:0.05:5;>> y=sin(x);>> z=cos(x);>> plot(x,y,x,z)

Listado 2.11>> x=0:0.05:5;>> y(1,:)=sin(x);>> y(2,:)=cos(x);>> plot(x,y)

Listado 2.12>> x=(0:0.05:5)';>> y(:,1)=sin(x);>> x(:,2)=cos(x);>> plot(x,y)

Listado 2.13>> x=0:0.05:5;>> y=sin(x);>> plot(x,y);>> hold on>> z=cos(x);>> plot(x,z,'--')>> xlabel('x'); ylabel('y(-), z(--)');

Listado 2.14clear; clf; hold off>> x=0:0.05:5;>> y=sin(x);>> plot(x,y)>> hold on>> z=cos(x)

z =

Columns 1 through 9

1.0000 0.9988 0.9950 0.9888 0.9801 0.9689 0.9553 0.9394 0.9211

Columns 10 through 18

0.9004 0.8776 0.8525 0.8253 0.7961 0.7648 0.7317 0.6967 0.6600

Columns 19 through 27

0.6216 0.5817 0.5403 0.4976 0.4536 0.4085 0.3624 0.3153 0.2675

Columns 28 through 36

0.2190 0.1700 0.1205 0.0707 0.0208 -0.0292 -0.0791 -0.1288 -0.1782

Columns 37 through 45

-0.2272 -0.2756 -0.3233 -0.3702 -0.4161 -0.4611 -0.5048 -0.5474 -0.5885

Columns 46 through 54

-0.6282 -0.6663 -0.7027 -0.7374 -0.7702 -0.8011 -0.8301 -0.8569 -0.8816

Columns 55 through 63

-0.9041 -0.9243 -0.9422 -0.9578 -0.9710 -0.9817 -0.9900 -0.9958 -0.9991

Columns 64 through 72

-1.0000 -0.9983 -0.9941 -0.9875 -0.9784 -0.9668 -0.9528 -0.9365 -0.9178

Columns 73 through 81

-0.8968 -0.8735 -0.8481 -0.8206 -0.7910 -0.7594 -0.7259 -0.6907 -0.6536

Columns 82 through 90

-0.6150 -0.5748 -0.5332 -0.4903 -0.4461 -0.4008 -0.3545 -0.3073 -0.2594

Columns 91 through 99

-0.2108 -0.1617 -0.1122 -0.0623 -0.0124 0.0376 0.0875 0.1372 0.1865

Columns 100 through 101

0.2354 0.2837

>> hold off

Listado 2.15A>> M= [0: 0.01: 1]'; k=1.4;>> p0_entre_p = (1 + (k-1)/2+M.^2).^(k/(k-1));>> plot(M,p0_entre_p)>> xlabel('M, numero de Mach')>> ylabel('p0/p')>> title('Relacion de presion, p(estancamiento)/p(esttica)')

Listado 2.15B>> clear>> %Relacion de presin vs. nmero de Mach>> clear; clf; hold off;>> M= [0:0.01:1]';>> k=1.4;>> p0_entre_p = (1 + (k-1)/2+M.^2).^(k/(k-1));>> hold on>> axis('square'); % hace que la grafica sea cuadrada>> plot(M,p0_entre_p)>> xlabel('M, numero de Mach')>> ylabel('p0/p')>> title('Relacin de presion, p(estancamiento)/p(estatica)')>> text(0.45, 1.55, 'comprensible')>> Mb=[0: 0.01: 0.7]';>> p0_entre_pb = 1 + k/2*Mb.^2;>> plot(Mb,p0_entre_pb, '--')>> text(0.5, 1.1, 'Incomprensible')

Anlisis Numrico/Races de EcuacionesEnunciadoencuentre una aproximacin a una raz de la ecuacin cos(x) 3x = 0SolucinGrafica de : cos(x) y 3x>> clear>> x=-2:0.05:2;>> y=cos(x);>> z=3*x;>> t=zeros(size(x));>> plot(x,y)>> axis([-2 2 -6 6])>> hold on>> plot(x,z)>> plot(x,t)>> grid on>> plot(x,t)>> clear>> x=-2:0.05:2;>> y=cos(x);>> z=3*x;>> t=zeros(size(x));>> plot(x,y)>> axis([-2 2 -6 6])>> hold on>> plot(x,z) >> plot(x,t)>> grid on

De la grafica, el valor cercano a la raz es (/2)/4=/8

Forma a)>> format long >> x0=pi/8;>> for i=1:5x= cos(x0)-2*x0;f=abs(cos(x0)-3*x0);disp([x0,x,f])x0=x;end 0.392699081698724 0.138481369113838 0.254217712584886

0.138481369113838 0.713464030549820 0.574982661435982

0.713464030549820 -0.670828702669616 1.384292733219437

-0.670828702669616 2.124964189389722 2.795792892059338

2.124964189389722 -4.776164262675708 6.901128452065429

Forma b)>> format long>> x0=pi/8;>> for i=1:5x= cos(x0)/3;f=abs(cos(x0)-3*x0);disp([x0,x,f])x0=x;end 0.392699081698724 0.307959844170429 0.254217712584886

0.307959844170429 0.317651318230573 0.029074422180432

0.317651318230573 0.316657205338012 0.002982338677682

0.316657205338012 0.316760548013117 0.000310028025313

0. 316760548013117 0.316749819637578 0.000032185126616

Calcule una raz real de la ecuacin empleando como valor inicial x0=1SolucinProceso iterativo>> format long>> x0=1;>> for i=1:9x=20/(x0^2+2*x0+10);dist=abs(x-x0);

dg=abs(-20*(2*x+2)/(x^2+2*x+10)^2);disp([x,dist,dg])x0=x;end 1.538461538461539 0.538461538461539 0.425718941295636

1.295019157088122 0.243442381373416 0.450997473075934

1.401825309448600 0.106806152360478 0.440466677944288

1.354209390404292 0.047615919044308 0.445285721129186

1.375298092487380 0.021088702083087 0.443174611254047

1.365929788170655 0.009368304316725 0.444117116666538

1.370086003401819 0.004156215231164 0.443699889746150

1.368241023612835 0.001844979788984 0.443885280917360

1.369059812007482 0.000818788394647 0.443803041176408Usando races de polinomio en Matlab

>> pol=[1,2,10,-20]; roots(pol)

ans =

-1.684404053910685 + 3.431331350197691i -1.684404053910685 - 3.431331350197691i 1.368808107821373 + 0.000000000000000i

Calcule una raz real de la ecuacin mediante el mtodo de Newton- Raphson, con Xo=1 y = 10-3 aplicado a

>> x=1;Eps=0.001;dist=1;>> while dist > Epsf=x^3+2*x^2+10*x-20;d=3*x^2+4*x+10;x1=x-f/d;dist=abs(x1-x);x=x1;disp([x1,dist]);end 1.411764705882353 0.411764705882353

1.369336470588235 0.042428235294118

1.368808188617532 0.000528281970703

Utilize el mtodo de la secante para obtener una raz del polinomio f(x)= >> f0=x0^3+2*x0^2+10*x0-20;>> f1=x1^3+2*x1^2+10*x1-20;>> clear>> format short>> x0=0;x1=1;>> for i=1:4f0=x0^3+2*x0^2+10*x0-20;f1=x1^3+2*x1^2+10*x1-20;x2=x1-(x1-x0)*f1/(f1-f0);dist=abs(x2-x1);disp([x2,dist])x0=x1;x1=x2;end 1.5385 0.5385

1.3503 0.1882

1.3679 0.0176

1.3688 0.0009