[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
- Photo voyageur du temps - Guide
- Logiciel de programmation pour débutant - Guide
- 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
- Déplacez les 3 premières diapositives de la 4e ligne au début de la présentation. - Forum Powerpoint