Matlab passer de syms à double
michel
-
mourina -
mourina -
Bonjour,
Je fait un programme sur matlab avec la MEF.
J'ai creer les fonctions isoparametrique associées, avec leurs derivées.
Le probleme est que pour utiliser la formule de derivée il faut declarer les variable en symbolique. Du coup j'ai mes fonctions mes dérivées mais j'aimerais convertir les variables symbolique en double.
Voici un exemple pour une fonction
syms('E'); syms('N'); syms('C');
N1=(1/8)*(1+E)*(1-N)*(1-C)*(-2-N+E-C);
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%-----------------------------------------------------------------%
%DERIVEES PREMIERES%
%-----------------------------------------------------------------%
%PAR RAPPORT A N
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
NN1=diff(N1,N);
Matlab me retourne donc N1 et NN1
NN1 =
-(1/8+1/8*E)*(1-C)*(-2-N+E-C)-(1/8+1/8*E)*(1-N)*(1-C)
et je n'arrive pas à transformer les variables E C et N par 0 pour creer le debut de ma matrice de deformaion..
Si le challenge interresse quelqu'un :D
Merci beaucoup par avance (pour ce sujet et pour tous les autres qui m'ont était tres utiles).
Je fait un programme sur matlab avec la MEF.
J'ai creer les fonctions isoparametrique associées, avec leurs derivées.
Le probleme est que pour utiliser la formule de derivée il faut declarer les variable en symbolique. Du coup j'ai mes fonctions mes dérivées mais j'aimerais convertir les variables symbolique en double.
Voici un exemple pour une fonction
syms('E'); syms('N'); syms('C');
N1=(1/8)*(1+E)*(1-N)*(1-C)*(-2-N+E-C);
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%-----------------------------------------------------------------%
%DERIVEES PREMIERES%
%-----------------------------------------------------------------%
%PAR RAPPORT A N
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
NN1=diff(N1,N);
Matlab me retourne donc N1 et NN1
NN1 =
-(1/8+1/8*E)*(1-C)*(-2-N+E-C)-(1/8+1/8*E)*(1-N)*(1-C)
et je n'arrive pas à transformer les variables E C et N par 0 pour creer le debut de ma matrice de deformaion..
Si le challenge interresse quelqu'un :D
Merci beaucoup par avance (pour ce sujet et pour tous les autres qui m'ont était tres utiles).
A voir également:
- Matlab passer de syms à double
- Double ecran - Guide
- Whatsapp double sim - Guide
- Passer de qwerty a azerty - Guide
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Double driver - Télécharger - Pilotes & Matériel
sym x
E = [(exp(x)-1),(cos(x))];
for i=1:length(E)
diff_k_1(i)= diff( E(i),'x',j); %il faut mettre x=0 apres le calcule de derive
end
vous avez une idée comment mettre une valeur dans une variable symbolique x?
sym x
E = [(exp(x)-1),(cos(x))];
for i=1:length(E)
diff_k_1(i)= diff( E(i),'x',j);
diff_k_1(i)=limit(diff_k_1(i),0);
end