[Matlab] Voyageur de commerce début d'algo
Nephal
-
nephal336 -
nephal336 -
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 :)
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 :)
A voir également:
- [Matlab] Voyageur de commerce début d'algo
- Debut logiciel de capture video - Télécharger - TV & Vidéo
- Le fichier à télécharger contient une liste de chats. triez-la comme dans le tableau ci-dessous (attention, on ne voit que le début…). quel est le mot formé par les 8 dernières lettres de la colonne code ? - Forum Word
- Photo voyageur temporel - Guide
- Touche début clavier ✓ - Forum Clavier
- Touche Home/début sur Huawei ✓ - Forum Clavier
1 réponse
nephal336
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
up
nephal336
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
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
nephal336
up