Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mensajes - Bobby Fischer

Páginas: [1] 2 3 4 ... 33
1
Lógica / Demostración aplicativa Isabelle
« en: 15 Abril, 2021, 10:26 am »
Hola, ¿puede alguien ayudarme a probar esto en Isabelle?

Gracias,

Saludos.

lemma "Prueba":
 "⟦∀x. (P x ⟶ Q x); ∃x. P x ⟧ ⟹ ∃x. Q x"
  apply (rule exI)
  apply (rule mp)
   apply (erule allE)
   apply (erule exE)
   apply assumption

2
Lógica / Programa Isabelle HOL (ii)
« en: 07 Abril, 2021, 09:01 pm »
Hola,

¿Algún sitio donde venga un listado exhaustivo de todas las reglas de Isabelle?
¿Cómo sé yo que la regla de eliminación de la doble negación está en 'Main' y se llama 'notnotD' y sin embargo la regla de introducción de la doble negación no está y debo definirla?

Gracias,

Saludos.

3
Programación lineal / Re: Programación AMPL
« en: 02 Abril, 2021, 10:02 pm »
Hola,

Por lo visto, en el tema 10 de aquí.

Saludos.

4
Programación lineal / Programación AMPL
« en: 02 Abril, 2021, 12:09 pm »
Hola,

Alguien que maneje el programa AMPL que me pueda decir cómo hacer para cargar matrices, datos, de otra parte, sin tener que dársela en el .dat escrita a mano.

Gracias,

Saludos.

5
Lógica / Re: Árbol de análisis
« en: 30 Marzo, 2021, 08:14 pm »
Es un árbol que te permite ver cómo se construye una fórmula a partir de sus componentes. Las hojas del árbol son las fórmulas atómicas (las variables proposicionales, en este caso) y cada nodo corresponde a algún operador lógico.

Sobre para qué se usa, la verdad es que nunca he visto ningún uso especial para esto. Puede ser útil de cara a informática, donde las fórmulas se pueden guardar como árboles, lo cual también hace más fácil operar con ellas. Pero a nivel puramente matemático nunca he visto ningún uso especial.

Sí, gracias, estaba mirando de arriba abajo, y es de abajo arriba.

Saludos a los dos.

6
Lógica / erule, drule
« en: 30 Marzo, 2021, 12:09 pm »
Hola,

Alguien que maneje el programa Isabelle HOL, que me pueda decir para qué sirven las notaciones 'erule' y 'drule' en una demostración.

Gracias,

Saludos.

7
Lógica / Árbol de análisis
« en: 30 Marzo, 2021, 08:17 am »
Hola,

No entiendo esto:



Para qué se usa y de qué manera.

Gracias,

Saludos.

8
Lógica / Programa Isabelle HOL
« en: 28 Marzo, 2021, 07:28 pm »
Hola rincón, espero que estéis todos bien.

El programa Isabelle me da este mensaje en el margen inferior derecho cada vez que lo abro. ¿Alguien sabe por qué aparece "2 errors" sin siquiera tener nada abierto?



Gracias,

Saludos.

9
Ecuaciones diferenciales / Re: Exponencial de una matriz
« en: 20 Enero, 2021, 12:53 am »
Queda el paso final de comprobar si $$A$$  verifica $$x' -Ax=0$$

Me pregunto si del enunciado del ejercicio podía deducirse que $$A$$ era constante.

Si, lo razonable es suponer que \( A \) es constante; si se habla de una matriz, por defecto y en los contextos habituales (en el particular en del sistemas lineales de ecuaciones diferenciales), uno supone es una matriz de números reales. Lo contrario podría haberse enfatizado poniendo \( A(t) \). Por supuesto que en último caso todo esto no deja de ser cuestión de convenio.

Así lo más cómodo es operar como ha indicado Abdulai. En todo caso si con la matriz \( A \) obtenida no se cumple \( X'-AX=0 \), entonces es que no hay ninguna matriz de números reales para la cual la matriz dada sea solución fundamental del sistema.

Saludos.

Sí, iba a indicármelo. De hecho, en la página 331, donde empieza, llama $$\dot{x}=Ax$$, $$x=\begin{bmatrix}{x_1}\\{\vdots}\\{x_n}\end{bmatrix}$$, $$A=\begin{bmatrix} a_{11} & \ldots & a_{1n}\\ \vdots & & \vdots \\ a_{n1} & \ldots & a_{nn}\end{bmatrix}$$.

$$\rule[3mm]{250mm}{1px}$$

Aparte de esto, es posible obtener $$A$$ por inspección de $$F(t)=\begin{bmatrix}-5\cos2t & -5 \sin 2t & 3e^{2t}\\ -2(\cos2t +\sin2t) & 2(\cos2t-\sin 2t) & 0\\ \cos2t & \sin2t & e^{2t}\end{bmatrix}$$

Pues se sabe que para un sistema $$\dot x=Ax$$, una matriz fundamental $$F(t)$$ que tenga esa forma puede proceder de una matriz $$A=PDP^{-1}$$, con $$P=\begin{bmatrix}3 & -5 & -5\\ 0 & -2+2i & -2-2i\\1 & 1 &1\end{bmatrix}$$, $$D=\begin{bmatrix}2 & &\\ & 2i & \\ & & -2i\end{bmatrix}$$, como en efecto sucede. En el caso de que los autovalores sean $$\lambda_1\in\mathbb{R}, \alpha+i\beta, \alpha-i\beta$$, con autovectores respectivos $$u, v, v^c$$, se tiene que tres soluciones linealmente independientes vienen dadas por $$e^{\lambda_1t}u$$, $$\psi(t)=\Re[e^{(\alpha+i\beta)t}v]$$ y $$\varphi(t)=\Im[e^{(\alpha+i\beta)t}v]$$, es decir $$\begin{Bmatrix}e^{\lambda_1t}u\\ \psi(t)=e^{\alpha t}(\cos\beta t \; \Re[v]-\sin \beta t\; \Im[v])\\ \varphi(t)=e^{\alpha t}(\sin \beta t\; \Re[v] +\cos\beta t\; \Im[v])\end{Bmatrix}$$. En este caso era $$F(t)=\begin{bmatrix} & & \\ \psi(t) & \varphi(t) & e^{\lambda_1t}u\\ & & \end{bmatrix}$$.

10
Ecuaciones diferenciales / Re: Exponencial de una matriz
« en: 19 Enero, 2021, 12:10 pm »

¿Cómo se calcula la matriz inversa de $$\begin{bmatrix}-5\cos2t & -5 \sin 2t & 3e^{2t}\\ -2(\cos2t +\sin2t) & 2(\cos2t-\sin 2t) & 0\\ \cos2t & \sin2t & e^{2t}\end{bmatrix}$$? (La acabo de hacer a mano con $$M^{-1}=\frac{1}{\det M}\text{Adj}(M^t)$$)

Una manera cómoda de hacerlo en algunos casos (no sé si en éste; es cómodo en especial si se tiene calculado en el polinomio característico) es usar el teorema de Cayley-Hamilton (toda matriz verifica su polinomio característico)

Si, por ejemplo

\( A^{3}+A^{2}+A+I=[0]
  \)

multiplicando por \( A^{-1}
  \)

\( A^{2}+A+I+A^{-1}=[0]
  \)

\( A^{-1}=-A^{2}-A-I
  \)

Saludos.

En efecto es una buena idea. :)

....
¿Cómo se calcula la matriz inversa de $$\begin{bmatrix}-5\cos2t & -5 \sin 2t & 3e^{2t}\\ -2(\cos2t +\sin2t) & 2(\cos2t-\sin 2t) & 0\\ \cos2t & \sin2t & e^{2t}\end{bmatrix}$$? (La acabo de hacer a mano con $$M^{-1}=\frac{1}{\det M}\text{Adj}(M^t)$$)

Pero no hace falta invertir la función completa, con el valor en 0 es suficiente.

$$x(0) = \begin{bmatrix} -5 & 0 & 3 \\ -2 & 2 & 0 \\ 1 & 0 & 1 \end{bmatrix}$$  ,  $$\dfrac{dx}{dt}(0) = \begin{bmatrix} 0& -10& 6 \\ -4& -4& 0\\ 0& 2& 2 \end{bmatrix}$$

$$A = \dfrac{dx}{dt}(0)\cdot inv(x(0)) = \begin{bmatrix} 0& -10& 6 \\ -4& -4& 0\\ 0& 2& 2 \end{bmatrix}  \begin{bmatrix} -5 & 0 & 3 \\ -2 & 2 & 0 \\ 1 & 0 & 1 \end{bmatrix}^{-1} = \begin{bmatrix} 2& -5& 0\\ 1& -2& -3\\ 0& 1& 2 \end{bmatrix} $$


Queda el paso final de comprobar si $$A$$  verifica $$x' -Ax=0$$

Es curioso el rodeo que he dado.

Además de que pasé por alto que $$F\in C^1(I,\mathcal{L}(\mathbb{R^n})$$ es matriz fundamental de solución de $$\dot{x}=Ax$$ si y sólo si $$\det(F)\neq 0 \land F'=AF$$.

Mi razonamiento debería haber sido: Sea $$F\in C^1(I,\mathcal{L}(\mathbb{R^n})$$ dada. Tenemos $$\det(F)\neq 0$$, luego existe la inversa de $$F$$ para todo $$t\in I$$.
Para que sea matriz fundamental, debe cumplirse $$F'=AF$$, que se cumple si y sólo si $$A=F'(t)F^{-1}(t)\;(\forall t)$$. Calculando $$F'(t)$$ y $$F^{-1}(t)$$ y multiplicando, obtenemos $$A$$, que podría ser una función de $$t$$. Lo que ocurre es que si $$A$$ es constante, entonces $$A(t)$$ es la misma para todo $$t$$.

Me pregunto si del enunciado del ejercicio podía deducirse que $$A$$ era constante.

11
Ecuaciones diferenciales / Exponencial de una matriz
« en: 19 Enero, 2021, 12:01 am »
Hola,

Determinar si la siguiente matriz es una matriz fundamental de solución de $$\dot{x}=Ax$$, para alguna matriz $$A$$. Si así es, encuentra $$A$$.

$$\begin{bmatrix}-5\cos2t & -5 \sin 2t & 3e^{2t}\\ -2(\cos2t +\sin2t) & 2(\cos2t-\sin 2t) & 0\\ \cos2t & \sin2t & e^{2t}\end{bmatrix}$$

Tema aparte
$$ \det F(t)\neq 0$$ se da. Para terminar, habría que comprobar $$F'(t)=AF(t)$$. Pero $$A$$ no se tiene. Sin embargo, sabemos que $$e^{At}=F(t)C$$. Sustituyendo $$t=0$$, se obtiene $$I=F(0)C$$. De ahí, que $$e^{At}=F(t)F^{-1}(0)$$.

Gracias a esto:

Código: (Matlab) [Seleccionar]
clc
syms F(t)
F(t)=[-5*cos(2*t) -5*sin(2*t) 3*exp(2*t);
    -2*(cos(2*t)+sin(2*t)) 2*(cos(2*t)-sin(2*t)) 0;
    cos(2*t) sin(2*t) exp(2*t)]
invF=inv(F);
t=0;
invF0=subs(invF(t))
syms t
expAt=F(t)*invF0

$$e^{At}=\begin{bmatrix}\frac{3}{8}e^{2t} +\frac{5}{8}(\cos 2t +\sen 2t) & -\frac{5}{2}\sen 2t & \frac{15}{8}(e^{2t}-\cos2t -\sen 2t)\\
\frac{1}{2}\sen2t & \cos2t -\sen 2t & -\frac{3}{2}\sen2t\\
\frac{1}{8}(e^{2t} -\cos2t-\sen 2t) & \frac{1}{2} \sen 2t & \frac{5}{8}e^{2t}+\frac{3}{8}(\cos2t+\sen 2t)\end{bmatrix}$$

Para calcular $$A$$:

$$e^{At}=\sum_{k=0}^\infty \dfrac{A^k t^k}{k!}=I +At+\frac{A^2t^2}{2!}+\ldots+\frac{A^n t^n}{n!}+\ldots$$

$$\dfrac{d}{dt}(e^{At})=A+A^2t+\ldots+\frac{A^n t^{n-1}}{(n-1)!}+\ldots$$

$$A=\dfrac{d}{dt}(e^{At})(0)=\begin{bmatrix}2 & -5 & 0\\ 1 & -2 & -3\\ 0 & 1 & 2\end{bmatrix}$$

Lo cual he conseguido con esto:

Código: (Matlab) [Seleccionar]
clc
syms F(t)
F(t)=[-5*cos(2*t) -5*sin(2*t) 3*exp(2*t);
    -2*(cos(2*t)+sin(2*t)) 2*(cos(2*t)-sin(2*t)) 0;
    cos(2*t) sin(2*t) exp(2*t)]
invF=inv(F);
t=0;
invF0=subs(invF(t))
syms t
expAt=F(t)*invF0
DexpAt=diff(expAt)
t=0;
DexpA0=subs(DexpAt)
A=DexpA0
syms t
DF=diff(F)
DF-A*F

B=sym(1/13*[16 -25 30; 8 -6 -24; 0 13 26])
DF-B*F % Contradiction in Braun page 538
% Solution for page 357 exercise 9 doesn't match with the
% solution to the problem.
% Differential Equations and Their Applications.
% M.Braun 3rd edition

La solución que da el libro es $$A=\frac{1}{13}\begin{bmatrix}16 & -25 & 30 \\8 & -6 & -24\\0 & 13 & 26\end{bmatrix}$$. Es decir, hay una errata.
% Contradiction in Braun page 538
% Solution for page 357 exercise 9 doesn't match with the
% solution to the problem.
% Differential Equations and Their Applications.
% M.Braun 3rd edition
[cerrar]

¿Cómo se calcula la matriz inversa de $$\begin{bmatrix}-5\cos2t & -5 \sin 2t & 3e^{2t}\\ -2(\cos2t +\sin2t) & 2(\cos2t-\sin 2t) & 0\\ \cos2t & \sin2t & e^{2t}\end{bmatrix}$$? (La acabo de hacer a mano con $$M^{-1}=\frac{1}{\det M}\text{Adj}(M^t)$$)

12
Hola,

Encontré interesante  [attachment id=0 msg=460405]

Creo que hay para todos los niveles, quiero decir, que del documento se puede sacar algo bueno siempre.

13
Ecuaciones diferenciales / (In)estabilidad de la solución nula
« en: 14 Enero, 2021, 01:23 am »
Hola, de un sistema como este: $$y'=\begin{bmatrix}0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & -1 & 3\\ 0 & 0 & 0 & -1\end{bmatrix}y$$

¿cómo puede deducirse la estabilidad o inestabilidad de la solución nula?

14
Métodos Numéricos / Misc
« en: 14 Enero, 2021, 01:05 am »

Código: (Matlab) [Seleccionar]
function fnomov(columnas)
% columnas=1,2,3 etc.
lon=8;
figure(1)
close(1)
figure(1)
hold on
axis equal
axis([-2 2 0 lon -4 1])
view(35,20)
n=20;
vec=linspace(-1,1,n);
for j=columnas:-1:1
    for i=1:n
        t=linspace(0,lon,50);
        fval1=evalua1(t,[vec(i),vec(j)]);
        plot3(vec(i)*ones(1,length(t)),t,vec(j)*ones(1,length(t))+fval1,'b')
        P=[vec(i),0,vec(j)];
        plot3(P(1),P(2),P(3),'bo','markerfacecolor','b')
        plot3([P(1) P(1)],[0,lon],[P(3) P(3)],'k')
        pause(0.1)
    end
end
pause(0.9)
v=linspace(35,450,150);
for k=1:150
    view(v(k),20)
    pause(0.1)
end
pause(0.3)
v=linspace(0,20,50);
for k=1:50
    view(90,v(51-k))
    pause(0.1)
end
pause(1)
view(35,20)

    function[y1]=evalua1(t0,y0)
        [~,y]=ode45(@fun,t0,y0);
        y1=y(:,1);
    end

    function[dydt]=fun(~,y)
        y1=-y(1)+3*y(2);
        y2=-y(2);
        dydt=[y1; y2];
    end
end

[attachment id=0 msg=460163]

Código: (Matlab) [Seleccionar]
function fcno
y0=linspace(0,2,20);
t0=linspace(0,6,601);
figure(1)
close(1)
figure(1)
options=odeset('RelTol',1e-5);
subplot(1,3,1)
hold on
for k=1:20
    [t,y]=ode45(@fun,t0,y0(k),options);
    plot(t,y,'b')
end
title('ode')
subplot(1,3,2)
hold on
t=t0;
for k=1:20
    f2=y0(k)*exp(t)./(1+(exp(t)-1)*y0(k));
    plot(t,f2,'r')
end
title('solution')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
lon=601;
t=linspace(0,6,lon);
h=6/(lon-1);
y0=linspace(0,2,20);
subplot(1,3,3)
hold on
for m=1:20
    y=zeros(1,lon);
    y(1)=y0(m);
    for k=1:lon-1
        y(k+1)=y(k)+h*y(k)*(1-y(k));
    end
    plot(t,y,'g')
end
plot([0 6],[0 0],'m--','linewidth',2)
plot([0 6],[1 1],'m--','linewidth',2)
title('my ode')

    function [yp]=fun(~,y)
        yp=y*(1-y);
    end
end

[attachment id=1 msg=460163]

Código: (Matlab) [Seleccionar]
a=1.03;
h=(a^200-a^20)/9;
ypoints=a^(20):h:a^200;
xpoints=log(ypoints)./log(a);

figure(1)
close(1)
figure(1)
hold on
axis([0 220 -1 1])
plot([20 200],[0 0],'b-','linewidth',3)
z=0.05;
for k=1:10
plot([xpoints(k) xpoints(k)],z*[-1 1],'b','linewidth',2)
end
text(20-1,-1.5*z,'20')
text(200-2,-1.5*z,'200')


Código: (Matlab) [Seleccionar]
function fourier1(n)
% Copy and paste this on Command Window:
% for n=1:15, fourier1(n), end
% Or this:
% fourier1(30)
figure(1)
clf
T=2;
lon=200;
a_0=2/T*integral(@(x)x,-T/2,T/2);
a=zeros(1,n);
b=zeros(1,n);
for k=1:n
    a(k)=2/T*integral(@(x)x.*cos(2*pi*k/T*x),-T/2,T/2);
    b(k)=2/T*integral(@(x)x.*sin(2*pi*k/T*x),-T/2,T/2);
end

x=linspace(-T/2,T/2,lon);
y=a_0/2*ones(1,lon);

for k=1:n
    y=y+b(k)*sin(2*pi*k/T*x);
end

figure(1)
hold on
% plot([-1 1],[-1 1],'k')
subplot(1,3,1)
hold on
axis equal
axis([-1 1 -1 1])
plot([-1 1],[-1 1],'k')
plot(x,y,'b')
title(['n=' num2str(n)])

for k=1:n
    c(k)=(-1)^(k+1)*T/(pi*k);
end

z=zeros(1,lon);
for k=1:n
    z=z+c(k)*sin(2*pi*k/T*x);
end
subplot(1,3,2)
hold on
axis equal
axis([-1 1 -1 1])
plot([-1 1],[-1 1],'k')
plot(x,z,'r')
title(['n=' num2str(n)])

subplot(1,3,3)
hold on
axis equal
axis([-1 1 -1 1])
plot([-1 1],[-1 1],'k')
plot(x,y,'b')
plot(x,z,'k.')
title(['n=' num2str(n)])

pause(1)
end



Código: (Matlab) [Seleccionar]
figure(1)
close(1)
figure(1)
T=2;
lon=200;
x=linspace(-T/2,T/2,lon);
for n=1:10
    clf
    a_0=2/T*integral(@(x)x.^2,-T/2,T/2);
    a=zeros(1,n);
    b=zeros(1,n);
    for k=1:n
        a(k)=2/T*integral(@(x)x.^2.*cos(2*pi*k/T*x),-T/2,T/2);
        b(k)=2/T*integral(@(x)x.^2.*sin(2*pi*k/T*x),-T/2,T/2);
    end
   
    y=a_0/2*ones(1,lon);
    for k=1:n
        y=y+a(k)*cos(2*pi*k/T*x)+b(k)*sin(2*pi*k/T*x);
    end
   
    figure(1)
    hold on
    axis([-1 1 -0.2 1])
    plot([-1 1],[0 0],'k--')
    plot([0 0],[-0.2 1],'k--')
    plot(x,x.^2,'r')
    plot(x,y,'b')
    title(['n=' num2str(n)])
    pause(1)
end


Código: (Matlab) [Seleccionar]
function fourier_num(order)
% Copy and paste in Command Window:
% fourier_num(50)

T=2;
lon=500;
x=linspace(-T/2,T/2,lon);
figure(1)
close(1)
figure(1)
for n=order:order
    a_0=2/T*integral(@(x)fun1(x),-T/2,T/2,'ArrayValued',true);
    a=zeros(1,n);
    b=zeros(1,n);
    for k=1:n
        a(k)=2/T*integral(@(x)fun1cos(x,k,T),-T/2,T/2,'ArrayValued',true);
        b(k)=2/T*integral(@(x)fun1sin(x,k,T),-T/2,T/2,'ArrayValued',true);
    end
   
    y=a_0/2*ones(1,lon);
    for k=1:n
        y=y+a(k)*cos(2*pi*k/T*x)+b(k)*sin(2*pi*k/T*x);
    end
   
    clf
    hold on
    axis equal
    axis([-1.5 1.5 -1.5 1.5])
    plot([-1.5 1.5],[0 0],'k--')
    plot([0 0],[-1.5 1.5],'k--')
    % plot(x,x.^2,'r')
    plot(x,y,'b')
    title(['n=' num2str(n)])
    pause(0.2)
end

    function[y]=fun1(x)
        if x<0
            y=-1;
        else
            y=1;
        end
    end

    function[y]=fun1cos(x,k,T)
        if x<0
            y=-cos(2*pi*k/T*x);
        else
            y=cos(2*pi*k/T*x);
        end
    end

    function[y]=fun1sin(x,k,T)
        if x<0
            y=-sin(2*pi*k/T*x);
        else
            y=sin(2*pi*k/T*x);
        end
    end

end



Código: (Matlab) [Seleccionar]
function fourier_num_pause(order)
% Copy and paste in Command Window:
% fourier_num_pause(30)

T=2;
lon=500;
x=linspace(-T/2,T/2,lon);
figure(1)
close(1)
figure(1)
for n=1:order
    a_0=2/T*integral(@(x)fun1(x),-T/2,T/2,'ArrayValued',true);
    a=zeros(1,n);
    b=zeros(1,n);
    for k=1:n
        a(k)=2/T*integral(@(x)fun1cos(x,k,T),-T/2,T/2,'ArrayValued',true);
        b(k)=2/T*integral(@(x)fun1sin(x,k,T),-T/2,T/2,'ArrayValued',true);
    end
   
    y=a_0/2*ones(1,lon);
    for k=1:n
        y=y+a(k)*cos(2*pi*k/T*x)+b(k)*sin(2*pi*k/T*x);
    end
   
    clf
    hold on
    axis equal
    axis([-1.5 1.5 -1.5 1.5])
    plot([-1.5 1.5],[0 0],'k--')
    plot([0 0],[-1.5 1.5],'k--')
    % plot(x,x.^2,'r')
    plot(x,y,'b')
    title(['n=' num2str(n)])
    pause(0.2)
end

    function[y]=fun1(x)
        if x<0
            y=-1;
        else
            y=1;
        end
    end

    function[y]=fun1cos(x,k,T)
        if x<0
            y=-cos(2*pi*k/T*x);
        else
            y=cos(2*pi*k/T*x);
        end
    end

    function[y]=fun1sin(x,k,T)
        if x<0
            y=-sin(2*pi*k/T*x);
        else
            y=sin(2*pi*k/T*x);
        end
    end

end



Código: (Matlab) [Seleccionar]
clc
lon=500;
T=2;
figure(1)
close(1)
figure(1)
%%%%%%%%%%%%%
% Define f
%%%%%%%%%%%%%
for n=1:15
    syms f(x)
    % f(x)=x;
    % f(x)=piecewise(x<0, -1, 0<x, 1);
    % f(x)=x^2;
    f(x)=x^3;
    syms fcos(x,k)
    fcos(x,k)=f(x)*cos(2*pi*k/T*x);
    syms fsin(x,k)
    fsin(x,k)=f(x)*sin(2*pi*k/T*x);
    a_0=2/T*int(f(x),-T/2,T/2);
    a=sym(zeros(1,n));
    b=sym(zeros(1,n));
    for k=1:n
        a(k)=2/T*int(fcos(x,k),-T/2,T/2);
        b(k)=2/T*int(fsin(x,k),-T/2,T/2);
    end
   
    y=a_0/2;
    for k=1:n
        y=y+a(k)*cos(2*pi*k/T*x)+b(k)*sin(2*pi*k/T*x);
    end
   
    x=linspace(-T/2,T/2,100);
    clf
    hold on
    axis equal
    axis([-1.5 1.5 -1.5 1.5])
    plot([-1.5 1.5],[0 0],'k--')
    plot([0 0],[-1.5 1.5],'k--')
    plot(x,subs(f),'k')
    plot(x,subs(y),'b')
    title(['n=' num2str(n)])
    pause(0.1)
end
disp('y=')
pretty(y)



Código: (Matlab) [Seleccionar]
clc
lon=500;
T=2;
figure(1)
close(1)
figure(1)
%%%%%%%%%%%%%
% Define f
%%%%%%%%%%%%%
for m=1:8 % <------------------ Modify this parameter
    for n=1:15
        syms f(x)
        if m==1
            f(x)=x;
        elseif m==2
            f(x)=piecewise(x<0, -1, 0<x, 1);
        elseif m==3
            f(x)=x^2;
        elseif m==4
            f(x)=x^3;
        elseif m==5
            f(x)=piecewise(x<0,-x, 0<x, x);
        elseif m==6
            f(x)=piecewise(x<0,cos(pi*x),0<x,-cos(pi*x));
        elseif m==7
            f(x)=piecewise(x<0,cos(pi*x),0<x, cos(2*pi*x));
        elseif m==8
            f(x)=piecewise(x<0,sin(pi*x),0<x<0.5,-2*x+1,0.5<x,2*x-1);
        end
        syms fcos(x,k)
        fcos(x,k)=f(x)*cos(2*pi*k/T*x);
        syms fsin(x,k)
        fsin(x,k)=f(x)*sin(2*pi*k/T*x);
        a_0=2/T*int(f(x),-T/2,T/2);
        a=sym(zeros(1,n));
        b=sym(zeros(1,n));
        for k=1:n
            a(k)=2/T*int(fcos(x,k),-T/2,T/2);
            b(k)=2/T*int(fsin(x,k),-T/2,T/2);
        end
       
        y=a_0/2;
        for k=1:n
            y=y+a(k)*cos(2*pi*k/T*x)+b(k)*sin(2*pi*k/T*x);
        end
       
        x=linspace(-T/2,T/2,100);
        clf
        hold on
        axis equal
        axis([-1.5 1.5 -1.5 1.5])
        plot([-1.5 1.5],[0 0],'k--')
        plot([0 0],[-1.5 1.5],'k--')
        plot(x,subs(f),'k')
        plot(x,subs(y),'b')
        title(['n=' num2str(n)])
        pause(0.1)
    end
end
text(1,-1,'end')



 
[attachment id=2 msg=460163]

Código: (Matlab) [Seleccionar]
function exer1
n=20;
tmax=6;
t=linspace(0,tmax,20);
y0=linspace(-1,1,n);
cte=1-1./y0.^2;
figure(1)
close(1)
figure(1)
for k=1:n
    [t,z]=ode45(@(t,y)fun(t,y),t,y0(k));
    subplot(1,3,1)
    hold on
    axis equal
    axis([0 tmax -1 1])
    plot(t,z,'bo-')
    y=1./sqrt((1-cte(k)*exp(2*t)));
    subplot(1,3,2)
    hold on
    axis equal
    axis([0 tmax -1 1])
    plot(t,y,'ko-')
    plot(t,-y,'ko-')
    subplot(1,3,3)
    hold on
    axis equal
    axis([0 tmax -1 1])
    plot(t,z,'b')
    plot(t,y,'k')
    plot(t,-y,'k')
end
figure(1)
subplot(1,3,1)
title('ode45')
subplot(1,3,2)
title('solution')
subplot(1,3,3)
title('comparison')
    function [dydt]=fun(~,y)
        dydt=y*(y^2-1);
    end
end


15
Métodos Numéricos / Re: Partículas
« en: 12 Enero, 2021, 10:55 pm »
Saludos Masa, Sugata.

16
Métodos Numéricos / Partículas
« en: 12 Enero, 2021, 08:50 pm »

Código: (Matlab) [Seleccionar]
function g
x0=-0.1; y0=-0.1/sqrt(3);
x1=0.1; y1=-0.1/sqrt(3);
x2=0; y2=0.2/sqrt(3);
figure(1)
close(1)
figure(1)
hold on
axis equal
axis([-1.05 1.05 -1.05 1.05])
plot([-1 1 1 -1 -1],[-1 -1 1 1 -1],'k','linewidth',2)
plot([x0 x1 x2],[y0 y1 y2],'k.')
tic
while toc<120
    [x,y]=coords(x0,y0);
    [x,y]=vuelve(x0,y0,x,y);
    plot([x0 x],[y0 y],'b')
    x0=x; y0=y;
   
    [x,y]=coords(x1,y1);
    [x,y]=vuelve(x1,y1,x,y);
    plot([x1 x],[y1 y],'r')
    x1=x; y1=y;
   
    [x,y]=coords(x2,y2);
    [x,y]=vuelve(x2,y2,x,y);
    plot([x2 x],[y2 y],'g')
    x2=x; y2=y;
   
    pause(0.2)
end
title('end')
    function [x,y]=coords(x0,y0)
        z=rand(1);
        if z>0.5
            k=1;
        else
            k=-1;
        end
        x=x0+k*0.1*rand(1);
        z=rand(1);
        if z>0.5
            k=1;
        else
            k=-1;
        end
        y=y0+k*0.1*rand(1);
    end
    function [x,y]=vuelve(x0,y0,x,y)
        if x>1
            x=x0-0.1;
        elseif x<-1
            x=x0+0.1;
        elseif y>1
            y=y0-0.1;
        elseif y<-1
            y=y0+0.1;
        end
    end
end


Código: (Matlab) [Seleccionar]
function h
x0=0; y0=0; z0=0;
x1=0; y1=0; z1=0;
x2=0; y2=0; z2=0;
figure(1)
close(1)
figure(1)
hold on
axis equal
axis([-1.05 1.05 -1.05 1.05 -1.05 1.05])
view(45,25)
plot3(0,0,0,'ko')
plot3([-1 1],[-1 -1],[-1 -1],'k')
plot3([1 1],[-1 1],[-1 -1],'k')
plot3([-1 1],[1 1],[-1 -1],'k')
plot3([-1 -1],[-1 1],[-1 -1],'k')
plot3([1 1],[-1 -1],[-1 1],'k')
plot3([1 1],[1 1],[-1 1],'k')
plot3([-1 -1],[1 1],[-1 1],'k')
plot3([-1 -1],[-1 -1],[-1 1],'k')
plot3([-1 1],[-1 -1],[1 1],'k')
plot3([-1 -1],[-1 1],[1 1],'k')
plot3([1 1],[-1 1],[1 1],'k')
plot3([-1 1],[1 1],[1 1],'k')

tic
while toc<15
    [x,y,z]=coords(x0,y0,z0);
    [x,y,z]=vuelve(x0,y0,z0,x,y,z);
    plot3([x0 x],[y0 y],[z0 z],'b')
    x0=x; y0=y; z0=z;
   
    [x,y,z]=coords(x1,y1,z1);
    [x,y,z]=vuelve(x1,y1,z1,x,y,z);
    plot3([x1 x],[y1 y],[z1 z],'r')
    x1=x; y1=y; z1=z;
   
    [x,y,z]=coords(x2,y2,z2);
    [x,y,z]=vuelve(x2,y2,z2,x,y,z);
    plot3([x2 x],[y2 y],[z2 z],'g')
    x2=x; y2=y; z2=z;
   
    pause(0.01)
end
title('end')
    function [x,y,z]=coords(x0,y0,z0)
        b=rand(1);
        if b>0.5
            k=1;
        else
            k=-1;
        end
        x=x0+k*0.1*rand(1);
        b=rand(1);
        if b>0.5
            k=1;
        else
            k=-1;
        end
        y=y0+k*0.1*rand(1);
        if b>0.5
            k=1;
        else
            k=-1;
        end
        z=z0+k*0.1*rand(1);
    end
    function [x,y,z]=vuelve(x0,y0,z0,x,y,z)
        if x>1
            x=x0-0.1;
        elseif x<-1
            x=x0+0.1;
        elseif y>1
            y=y0-0.1;
        elseif y<-1
            y=y0+0.1;
        elseif z>1
            z=z0-0.1;
        elseif z<-1
            z=z0+0.1;
        end
    end
end

17
Cálculo de Varias Variables / Re: Errata
« en: 12 Enero, 2021, 12:06 pm »
En que debería ser:

$$-\int_0^{+\infty}-\lambda e^{-\lambda x}dx=e^{-\lambda x}\Big{|}_{+\infty}^0=1-\lim_{x\to +\infty}e^{-\lambda x}=\begin{cases} 1 & \text{si} & \lambda>0\\ 0 & \text{si} & \lambda=0\\ -\infty & \text{si} & \lambda<0\end{cases}$$

Sí hay una errata, falta un signo en la primitiva. Debería ser \[ {\color{red} -} e^{-\lambda x}  \]. Esto se arrastra después en el valor de \[ F(x) \] (debería ir con los signos cambiados). Pero no cambia las regiones de convergencia ni la discusión de la convergencia uniforme, creo.

Sí, eso mismo he pensado yo.

Gracias.

18
Cálculo de Varias Variables / Errata
« en: 12 Enero, 2021, 11:40 am »
Hola,

Alguien que tenga a mano el "CÁLCULO INFINITESIMAL DE VARIAS VARIABLES" de Juan de Burgos que me pueda decir si el ejemplo $$[84]_3$$ de la página 335 es una errata.

19
Ecuaciones diferenciales / Re: Probar una afirmación (ejercicio).
« en: 04 Enero, 2021, 10:02 pm »
Supongamos tener el sistema $$\begin{cases}y_1'=y_2+y_1^2\\y_2'=y_1+y_2^2\\y_1(t_0)=y_0\\y_2(t_0)=y_0\end{cases}$$. $$(y_1(t),y_1(t))=(y_2(t),y_2(t))=(y(t),y(t))$$ es solución del sistema si se cumple $$\begin{cases}y'=y+y^2\\y'=y+y^2\\y(t_0)=y_0\\y(t_0)=y_0\end{cases}\Longleftrightarrow \begin{cases}y'=y+y^2\\y(t_0)=y_0\end{cases}$$, lo cual ocurre si se tiene Picard (se tiene). $$(y(t),y(t))$$ es además solución única de $$\begin{cases}y_1'=y_2+y_1^2\\y_2'=y_1+y_2^2\\y_1(t_0)=y_0\\y_2(t_0)=y_0\end{cases}$$ porque por Picard éste tiene solución única. Así que si existe $$t_0$$ tal que $$y_1(t_0)=y_2(t_0)$$, entonces $$y_1=y_2$$.

Ahora lo he entendido. Al César lo que es del César. Así que Martiniano, llevabas tú razón.

20
Ecuaciones diferenciales / Re: Probar una afirmación (ejercicio).
« en: 04 Enero, 2021, 03:02 pm »
Si \( y'=y+y^2 \) y \( y_1=y \) y \( y_2=y \) entonces

Es decir, que para terminar afirmando que $$y_1=y_2$$ empiezas afirmando que $$y_1=y_2$$.

Páginas: [1] 2 3 4 ... 33