[Matlab] Voyageur de commerce début d'algo

Fermé
Nephal - Modifié par nephal336 le 15/02/2012 à 17:29
 nephal336 - 22 févr. 2012 à 14:13
Bonjour, je suis actuellement en train de bosser sur un Projet Matlab sur le thème "Voyageur de Commerce"

Petite explication: Je commence en important un fichier texte sur Matlab pour obtenir :
Lille Amiens 150

Amiens Paris 160

Lille Paris 200

Je dois ensuite créer un programme pour obtenir les deux tableaux suivants :

Lille 1

Amiens 2

Paris 3

ainsi que :

0 1 2 3
1 0 150 200
2 150 0 160
3 200 160 0

J'aimerais votre aide pour pouvoir améliorer cette partie du projet, pour faire un peu moins "bébé" et pouvoir ajouter facilement une nouvelle destination aux tableaux..

Voici actuellement ce que j'ai fais

fid=fopen('C:\mat\data.txt','r');
k=fscanf(fid,'%c')
ville1='Lille';
ville2='Amiens';
ville3='Paris';
Lille=1;
Amiens=2;
Paris=3;
%distance Lille Amiens%
d1=150;
%distance Amiens Paris%
d2=160;
%distance Paris Lille%
d3=200;
fid2=fopen('C:\mat\data2.txt','wt');
fprintf(fid2,'%s\t','Lille');
fprintf(fid2,'%i\n',Lille);
fprintf(fid2,'%s\t','Amiens');
fprintf(fid2,'%i\n',Amiens);
fprintf(fid2,'%s\t','Paris');
fprintf(fid2,'%i\n',Paris);
fid2=fopen('C:\mat\data2.txt','r');
k2=fscanf(fid2,'%c')
fclose(fid2);
K=zeros(4,4);
K(1,2)=1;
K(1,3)=2;
K(1,4)=3;
K(2,1)=1;
K(3,1)=2;
K(4,1)=3;
n=2;
m=2;
for n=2:4;
for m=2:4;
if n==2;
if m==2;
K(n,m)=0;
else if m==3;
K(n,m)=d1;
else K(n,m)=d3;
end
end
else if n==3;
if m==2;
K(n,m)=d1;
else if m==3;
K(n,m)=0;
else K(n,m)=d2;
end
end
else if n==4;
if m==2;
K(n,m)=d3;
else if m==3;
K(n,m)=d2;
else K(n,m)=0;
end
end
end
end
end
end
K
end


Merci :)

1 réponse

nephal336 Messages postés 16 Date d'inscription samedi 14 janvier 2012 Statut Membre Dernière intervention 17 novembre 2013
15 févr. 2012 à 19:12
petit up :)
0
nephal336 Messages postés 16 Date d'inscription samedi 14 janvier 2012 Statut Membre Dernière intervention 17 novembre 2013
16 févr. 2012 à 17:33
up
0
nephal336 Messages postés 16 Date d'inscription samedi 14 janvier 2012 Statut Membre Dernière intervention 17 novembre 2013
17 févr. 2012 à 18:07
Je tiens a préciser que je suis également débutant et j'ai du me débrouiller plus ou moins pour travailler les fscanf fopen fprint
0
up
0