Matlab - Area encerrada

 
Vista:

Area encerrada

Publicado por Teo (2 intervenciones) el 07/11/2016 22:00:39
Hola.
Debo hallar el area encerrada por una curva.
La curva que me dan es una cardioide (coordenadas polares) la cual mostraré abajo como la hice.

1
2
3
4
a=1;
t=0:0.1:2*pi;
r=a*(1+cos(t));
polar(t,r);

En lo posible, el metodo de solucion debe ser por cuadratura adaptativa de Simpson.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Area encerrada

Publicado por Royeth (1818 intervenciones) el 07/11/2016 23:16:26
El área encerrada corresponde a la mitad de la integral de r^2 con respecto a t evaluada desde 0 a 2*pi , es decir :

1
A=0.5*integral(@(t) (a*(1+cos(t))).^2,0,2*pi)

la función integral emplea la cuadratura adaptativa global

el código completo quedaría

1
2
3
4
5
a=1;
t=0:0.1:2*pi;
r=a*(1+cos(t));
polar(t,r);
A=0.5*integral(@(t) (a*(1+cos(t))).^2,0,2*pi)

si el objetivo es que tú mismo implementes el método de solución entonces tienes que hacer una función recursiva y plantear el algoritmo de Simpson

saludos
https://www.facebook.com/royethmatlab/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 66
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Area encerrada

Publicado por Deyner (28 intervenciones) el 13/11/2016 04:20:13
Aca tengo uno, puede que te sirva

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
%Crear un programa para aproximar el valor de la integral de funciones
%reales por método de trapecio y Simpson
clear
opcion=menu('Seleccionar el método a usar: ','Método del Trapecio',...
'Método de Simpson 1/3 con 2n interv','Método de Simpson 3/8 con 3n interv','Salir');
switch(opcion)
    case 1
        %PROGRAMA MÉTODO TRAPECIO
    f=input('Ingrese la función a integrar f(x)= ','s');
    a=input('Ingrese el límite inferior: ');
    b=input('Ingrese el límite superior: ');
    fprintf('Ingrese el número de trapecios a\n');
    n=input('considerar en la integración: ');
    xmin=a-1;xmax=b+1;%Extremos
    h=(b-a)/n;%Altura
    x=a:h:b;
    fx=eval(f);y=abs(fx);
    A=y(1)+y(n+1);%Términos extremos
    B=2*sum(y(2:n));%Término de sumatoria
    integral=(h/2)*(A+B);
    fprintf('El área es: %10.9f\n',integral);
    %Gráfica
    xp=xmin:0.2:xmax;%Se define el dominio
    x=xp;%se redefine x
    yp=eval(f);%f variará con los nuevos x
    plot(xp,yp,'r');
    hold on
    x=a:0.05:b;%gráfica de las particiones
    y=eval(f);
    bar(x,y,'b');grid on
    case 2
        %PROGRAMA MÉTODO DE SIMPSON  1/3 CON 2n INTERVALOS
    f=input('Ingrese la función a integrar f(x)= ','s');
    a=input('Ingrese el límite inferior: ');
    b=input('Ingrese el límite superior: ');
    fprintf('Ingrese el número de trapecios a\n');
    n1=input('considerar en la integración: ');
    n=2*n1;xmin=a-1;xmax=b+1;
    h=(b-a)/n;
    x=a:h:b;
    fx=eval(f);y=abs(fx);
    %Sumas previas
    A=y(1)+y(n+1);
    B=4*sum(y(2:2:n));
    C=2*sum(y(3:2:n-1));
    suma=A+B+C;
    integral=(h/3)*suma;
    fprintf('El área es: %10.9f\n',integral);
    %Gráfica
    xp=xmin:0.2:xmax;
    x=xp;
    yp=eval(f);
    plot(xp,yp,'r');
    hold on
    x=a:0.05:b;
    y=eval(f);
    bar(x,y,'b');grid on
    case 3
        %PROGRAMA MÉTODO DE SIMPSON  3/8 CON 3n INTERVALOS
    f=input('Ingrese la función a integrar f(x)= ','s');
    a=input('Ingrese el límite inferior: ');
    b=input('Ingrese el límite superior: ');
    fprintf('Ingrese el número de trapecios a\n');
    n1=input('considerar en la integración: ');
    n=3*n1;xmin=a-1;xmax=b+1;
    h=(b-a)/n;
    x=a:h:b;
    fx=eval(f);y=abs(fx);
    %Sumas previas
    A=y(1)+y(n+1);
    B=3*sum(y(2:3:n-1));
    C=3*sum(y(3:3:n));
    D=2*sum(y(4:3:n-2));
    suma=A+B+C+D;
    integral=(3/8)*h*suma;
    fprintf('El área es: %10.9f\n',integral);
    %Gráfica
    xp=xmin:0.2:xmax;
    x=xp;
    yp=eval(f);
    plot(xp,yp,'r');
    hold on
    x=a:0.05:b;
    y=eval(f);
    bar(x,y,'b');grid on
    case 4
        %SALIR DEL PROGRAMA
    disp('Programa finalizado');
    return;
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar