Bonjour,
J'ai deux problèmes à faire en MAPLE sachant que pour base j'ai déjà le programme suivant:
> restart:
Fonction de Heaviside
> e:=x->Heaviside(x):
> e(x)=convert(e(x),piecewise):
> e(x-1)=convert(e(x-1),piecewise):
Fonction Dirac
> Diff(Heaviside(x),x)=diff(Heaviside(x),x):
> df:=x->Dirac(x):
> Dirac(x)=convert(df(x),piecewise):
> Int(df(x),x=-infinity..infinity)=int(df(x),x=-infinity..infinity):
Dérivée d'une fonction de Dirac
> Diff(df(x),x)=diff(df(x),x):
> dm:=x->Dirac(1,x):
> Dirac(1,x)=convert(dm(x),piecewise):
> Int(-dm(x),x=-infinity..infinity)=int(-dm(x),x=-infinity..infinity):
> D1:=x->D(x):
> D2:=x->D(D(x)):
> D3:=x->D(D2(x)):
Sauvegarde dans un fichier
> save e,df,dm,D1,D2,D3,`fonc`;
PROCEDURE
> flexion:=proc(loads,CL)
> local N,i,vv,theta,Mfz,Ty,eq,out;
> N:=nops(loads):
> for i from 1 to N do
> eq:=EI*diff(v(x),x$4)=loads[i];
> dsolve({eq}union CL,v(x));
> vv[i]:=rhs(");
> theta[i]:=diff(vv[i],x);
> Mfz[i]:=EI*diff(vv[i],x$2);
> Ty[i]:=EI*diff(vv[i],x$3);
> od:
> print(lhs(eq)=sum(loads['i'],'i'=1..N),CL);
> out[`v`]:=collect(simplify(sum(vv[j],j=1..N)),Heaviside);
> out[`Theta`]:=collect(simplify(sum(theta[j],j=1..N)),Heaviside);
> out[`Mf`]:=collect(simplify(sum(Mfz[j],j=1..N)),Heaviside);
> out[`TY`]:=collect(simplify(sum(Ty[j],j=1..N)),Heaviside);
> out:
> end:
Mon prof m'a également donné un exercice résolu:
https://www.118712.fr/sortir.html
Et voici les deux exercices:
https://www.118712.fr/sortir.html
Quelqu'un s'y connait'il bien en programmation maple et pourrait-il m'aider en fesant le programme (au moins une partie) avec quelques commentaires pour aider à la compréhension.
Un contrôle approche et j'aimerais être en mesure de faire ce genre d'exercice seul..
merci par avance
Afficher la suite