Bonjour à tous,
nous sommes un groupe d'étudiants qui faisons un projet sur des lanceurs electromagnetiques.
Afin de modéliser notre probleme, nous sommes amenés à résoudre un système différentiel suivant
on a donc réalisé quelques fonctions sur matlab, dans un premier temps pour les inductances L1,L2,M
puis pour résoudre le système différentiel, nous avons fait :
etfunction [ ypoint ] = verite( t,y )
%UNTITLED2 Summary of this function goes here
% systeme differentiel 4*4, modelisant l'induction mutuelle entre deux
% spires...r1,r2 rayons des spires, Vc tension aux bornes de la capacité
% g acceleration gravitationnelle, m masse de la spire qui part, a1 a2
% rayon des fils, w1 w2 resistances des fils
global r1 r2 vc g m a1 a2 w1 w2
ypoint(1)=(1/(inductance(r1,a1)-mutuelle(r1,r2,y(3))^2/inductance(r2,a2)))*(vc-w1*y(1)+(mutuelle(r1,r2,y(3))/inductance(r2,a2))*(w2*y(2)+mutuellez(r1,r2,y(3))*y(4)*y(1))-mutuellez(r1,r2,y(3))*y(4)*y(2));
ypoint(2)=(1/inductance(r2,a2))*(-w2*y(2)-(mutuelle(r1,r2,y(3))/(inductance(r1,a1)-(mutuelle(r1,r2,y(3))^2/inductance(r2,a2))))*(vc-w1*y(1)+(mutuelle(r1,r2,y(3))/inductance(r2,a2))*(w2*y(2)+mutuellez(r1,r2,y(3))*y(4)*y(1))-mutuellez(r1,r2,y(3))*y(4)*y(2))-mutuellez(r1,r2,y(3))*y(4)*y(1));
ypoint(3)=y(4);
ypoint(4)=-g+(mutuellez(r1,r2,y(3))*y(1)*y(2))/m;
ypoint=ypoint';
end
finalement nous avons les messages d'erreur suivant:%ici on definit les parametres du problemes, les conditions initiales
global r1 r2 vc g m a1 a2
%initialisation des parametres
r1=0.2;
r2=0.1;
vc=230;
g=9.81;
m=1;
a1=0.001;
a2=0.001;
tfinal=60;
%condition initiale
y01=0;
y02=0;
y03=0;
y04=0;
%resolution
[t,y]=ode45('verite',[0 tfinal],[y01 y02 y03 y04]);
%extraction des elements du vecteur y
y1=y(:,1);
y2=y(:,2);
y3=y(:,3);
y4=y(:,4);
%trace des resultat
subplot(221)
plot(t,y1)
subplot(222)
plot(t,y2)
subplot(223)
plot(t,y3)
subplot(224)
plot(t,y4)
pouvez vous nous aiguiller ???? In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> verite at 8
ypoint(1)=(1/(inductance(r1,a1)-mutuelle(r1,r2,y(3))^2/inductance(r2,a2)))*(vc-w1*y(1)+(mutuelle(r1,r2,y(3))/inductance(r2,a2))*(w2*y(2)+mutuellez(r1,r2,y(3))*y(4)*y(1))-mutuellez(r1,r2,y(3))*y(4)*y(
Error in ==> odearguments at 110
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Error in ==> solveverite at 23
[t,y]=ode45('verite',[0 tfinal],[y01 y02 y03 y04]);
merci d'avance.
Partager