Bonjour à tous,

Je suis actuellement en train de créer un petit programme pour faire des éléments finis relativement simple (une dimensions seulement pour démarrer) et pour ça je dois créer un vecteur de forces qui donne la force appliquée à chaque noeud des éléments. Mais plutot que de devoir changer ça dans le programme, je voudrais créer une boucle avec un nombre d'itération qui égale le nombre de noeuds et que pour chaque noeud, l'utilisateur puisse rentrer la valeur de force qu'il souhaite en utilisant inputdlg.

voici le programme tel qu'il est actuellement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
%vecteur force
N=3; %nombre d'éléments
F=zeros(N+1,1);
for i=1:N+1
    F(i)=inputdlg('force axiale au noeud i')
end
sauf que matlab me propose de rentrer une valeur et une fois cliquer sur OK, il me donne cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
The following error occurred converting from cell to double:
Error using double
Conversion to double from cell is not possible.
 
Error in EF_barre_traction (line 32)
    F(i)=inputdlg('force axiale au noeud i')
J'en ai parlé à un autre ami et sur son ordinateur avec ce code, ça marche...donc vraiment incompréhensible, du moins pour moi.

Si quelqu'un a une solution, merci d'avance!!

PS : je n'arrive pas à faire en sorte que inputdlg affiche "force axiale au noeud 1" puis "...noeud 2", etc... jusqu'au nombre de noeuds souhaité. j'ai essayé avec la fonction num2strg mais ça n'a pas marché..