What is wrong?Help with converting to matlab
Mostrar comentarios más antiguos
> restart; with(PDEtools); > i(t) := -a*v(t)+b*v(t)^3 ; i[D] := i[S]+i(t);
i:= t -> -a v(t) + b v(t)^3
i[D] := i[S] - a v(t) + b v(t)
> eq[1] := i[C]+i[D]+i[R]-i[L](t) = 0;
eq1:=i[C] + i[S] - a v(t) + b v(t) + i[R] - i[L](t) = 0
> V[D] := V[S]+v(t); V[C] := V[D]; V[R] := V[D]; V[D]:=V[S] + v(t) V[C}:=V[S] + v(t) V[R]:=V[S] + v(t) >i[C] := C*(diff(V[C], t)); i[R] := V[R]/R;
/ d \
i[C]:= |--- v(t)|
\ dt /
i[R]:= V[S] + v(t)
-----------
R
>eq[1];
/ d \ 3 V[S] + v(t)
C |--- v(t)| + i[S] - a v(t) + b v(t) + ----------- - i[L](t) = 0
\ dt / R
>eq[2] := diff(eq[1], t);
/ d / d \\ / d \ 2 / d \
eq2:=C |--- |--- v(t)|| - a |--- v(t)| + 3 b v(t) |--- v(t)|
\ dt \ dt // \ dt / \ dt /
d
--- v(t)
dt / d \
+ -------- - |--- i[L](t)| = 0
R \ dt /
>V[L] := V[S]-V[D];V[b]=V[D] V[L]:= -v(t)
>de := subs(diff(i[L](t), t) = V[L]/L, eq[2]); / d / d \\ / d \ 2 / d \ C --- |--- v(t)| - a --- v(t) + 3 b v(t) --- v(t) \ dt \ dt // \ dt / \ dt /
d
--- v(t)
dt v(t)
+ -------- + ---- = 0
R L
>expand(de/C); / d \ 2 / d \ d a --- v(t) 3 b v(t) --- v(t) --- v(t) / d^2 \ \ dt / \ dt / dt --- v(t) - ------------ + -------------------- + -------- \ dr^2 / C C C R
v(t)
+ ---- = 0
C L
>collect(%, diff(v(t), t));
/ 2 \ 1 a 3 b v(t) | / d \ / v(t) / d^2 \\ |-- - - + --------- |* -- v(t) + | --- + | --- v(t)|| *v(t) = 0 \CR C C / \ dt / \ CL \ dt^2 //
>de[2] := subs(v(t)/(C*L) = w^2*v(t), %); / 2 \ | a 3 b v(t) 1 | / d \ / d ^2 \ de2:= - - + --------- + ---* --- v(t) + w^2 v(t)+ ------- v(t) = 0 \ C C C R/ \ dt / \ dt^2 /
2
>tr := {t = tau/w, v(t) = x(tau)*sqrt(a-1/R)/sqrt(3*b)};
\
/
| / \ 1
| x(tau sqrt (|a - -|sqrt(3))
tr:= tau 1 \ / R
|t = -----, v(t) = - ----------------------
| omega 3 sqrt (3*b)
\ /
>sqrt(3*b)*dchange(tr, de[2], [x(tau), tau], simplify)/(omega^2*sqrt(a-1/R));
expand(%); / d \ x(tau) ----- x(tau) a \ dtau / / d / d \\ ------------------------ + x(tau) + ----- |----- x(tau)| omega C R \ dtau \ dtau //
2 / d \ / d \ d
x(tau) |----- x(tau)| |----- x(tau)| a ----- x(tau)
\ dtau / \ dtau / dtau
- ---------------------- - ---------------- + ------------ = 0
omega C R omega C omega C R
>collect(%, diff(x(tau), tau), factor);
/ d \
(x(tau) - 1) (x(tau) + 1) (R a - 1) |----- x(tau)|
\ dtau /
-------------------------------------------------- + x(tau)
omega C R
/ d / d \\
+ |----- |----- x(tau)|| = 0
\ dtau \ dtau //
>de[3] := subs(x(tau)-1 = -(1-x(tau)^2)/(x(tau)+1), %); / 2\ / d \ \1 - x(tau) / (R a - 1) ----- x(tau) \ dtau / - -------------------------------------- + x(tau) omega C R
/ d / d \\
+ |----- |----- x(tau)|| = 0
\ dtau \ dtau //
>subs(R*a-1 = epsilon*omega*C*R, %); / 2\ / d \ -\1 - x(tau) / epsilon ----- x(tau) + x(tau) \ dtau /
/ d / d \\
+ |----- |----- x(tau)|| = 0
\ dtau \ dtau //
provided that epsilon is positive. Since a,w(omega),and C are positive, this condition requires that the resistance R>1/a.
1 comentario
Respuestas (0)
Categorías
Más información sobre Functions en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!