• 01-05-2019, 18:31:31
    #1
    Merhaba Arkadaşlar ,
    Aşağıda bulunan kodda içerdeki while döngüsü çalışıyor dışındaki while sadece 1 kere çalışıyor neden olabilir ?

    Yardım edebilecek var mı . Ücretli destek istiyorum ?


    function [outputArg1] = Topla(inputArg1,satir)
    i=1;
    j=1;
    hafta=20;
    outputArg1=[];
    while i<=hafta
    while j<=satir
    b=inputArg1(j,:,i);
    outputArg1(j,i)=sum(b);
    j=j+1;
    end
    i=i+1;
    end
    end

    %Ikinci Bolum
    % Bu bolumde en kisa yollar hesaplaniyor.
    
    
    %Excel dosyasinden veriler okunuyor.
    [~,~,UzMatSak]=xlsread('Uzaklik.xls');
    [~,~,UzMatYog]=xlsread('Uzaklik.xls');
    [~,~,taleplerSak]=xlsread('YeniTalep.xlsx');
    [~,~,taleplerYog]=xlsread('YeniTalep.xlsx');
    UzMatSak = cell2mat(UzMatSak);
    UzMatYog = cell2mat(UzMatYog);
    taleplerSak = cell2mat(taleplerSak);
    taleplerYog = cell2mat(taleplerYog);
    %Kullaniciden karinca sayisi ve iterasyon sayisi isteniyor.
    karincakatsayisi=input('Karinca Sayisini Giriniz. (Ornegin "20") ');
    iterasyonsayisi=input('Kac iterasyon Yapilacak Giriniz. (Ornegin "4") ');
    RotaMesafeleriSak=[];
    RotaMesafeleriYog=[];
    sayi=size(taleplerSak,1);
    rotasakmes=[];
    rotayogmes=[];
    rotasak=[];
    rotayog=[];
    talyog=[];
    talsak=[];
    ttt=input('Kullanýlacak kare koordinat sisteminin 1 kenar uzunluðunu giriniz : \n(Örneðin 10 yazarsanýz, koordinatlar (1,1) ile (10,10) noktalarý arasýnda olacaktýr)\n(Tamsayý olmasýný istemediðiniz deðerleri elle deðiþtirebilirsiniz)\n');
    max=input('Maksimum araç kapasitesini giriniz : \n');
    %Veriler hesaplaniyor.
    [RotalarSak2,RotalarYog2,TaleplerSak2,TaleplerYog2,RotaMesafeleriSak2,RotaMesafeleriYog2]=TekDepoBITIRME3(UzMatSak,UzMatYog,taleplerSak,taleplerYog,karincakatsayisi,iterasyonsayisi,sayi,max);
    Rotamesafeleri=topla2(RotaMesafeleriSak2);
    xlswrite('Sonuclar.xlsx',Rotamesafeleri,'KM','B2');
    Rotalar=Topla(RotalarSak2,44);
    Talepler=Topla(TaleplerSak2,44);
    Rotamesafeleri=Topla(RotaMesafeleriSak2,1);
  • 01-05-2019, 18:39:41
    #2
    kodların hepsini eklerseniz yardım eden çıkabilir. inputArg1 ve satir değişkenlerinin ilk değerleri yok. topla fonksiyonunun kodları da yok..
  • 01-05-2019, 18:47:00
    #3
    Ekledim hocam teşekkürler
    ssyazilim adlı üyeden alıntı: mesajı görüntüle
    kodların hepsini eklerseniz yardım eden çıkabilir. inputArg1 ve satir değişkenlerinin ilk değerleri yok. topla fonksiyonunun kodları da yok..
  • 01-05-2019, 18:50:33
    #4
    Kodlarım Matlab ortamındaki halinin ekran görüntüsünu atar mısınız
  • 01-05-2019, 19:18:55
    #5
    "inputArg1" , "satir" bizimle paylaşırsanız sorunu bulabiliriz.
  • 01-05-2019, 20:20:12
    #6
    KEMO adlı üyeden alıntı: mesajı görüntüle
    Merhaba Arkadaşlar ,
    Aşağıda bulunan kodda içerdeki while döngüsü çalışıyor dışındaki while sadece 1 kere çalışıyor neden olabilir ?

    Yardım edebilecek var mı . Ücretli destek istiyorum ?


    function [outputArg1] = Topla(inputArg1,satir)
    i=1;
    j=1;
    hafta=20;
    outputArg1=[];
    while i<=hafta
    while j<=satir
    b=inputArg1(j,:,i);
    outputArg1(j,i)=sum(b);
    j=j+1;
    end
    i=i+1;
    end
    end

    %Ikinci Bolum
    % Bu bolumde en kisa yollar hesaplaniyor.
    
    
    %Excel dosyasinden veriler okunuyor.
    [~,~,UzMatSak]=xlsread('Uzaklik.xls');
    [~,~,UzMatYog]=xlsread('Uzaklik.xls');
    [~,~,taleplerSak]=xlsread('YeniTalep.xlsx');
    [~,~,taleplerYog]=xlsread('YeniTalep.xlsx');
    UzMatSak = cell2mat(UzMatSak);
    UzMatYog = cell2mat(UzMatYog);
    taleplerSak = cell2mat(taleplerSak);
    taleplerYog = cell2mat(taleplerYog);
    %Kullaniciden karinca sayisi ve iterasyon sayisi isteniyor.
    karincakatsayisi=input('Karinca Sayisini Giriniz. (Ornegin "20") ');
    iterasyonsayisi=input('Kac iterasyon Yapilacak Giriniz. (Ornegin "4") ');
    RotaMesafeleriSak=[];
    RotaMesafeleriYog=[];
    sayi=size(taleplerSak,1);
    rotasakmes=[];
    rotayogmes=[];
    rotasak=[];
    rotayog=[];
    talyog=[];
    talsak=[];
    ttt=input('Kullanýlacak kare koordinat sisteminin 1 kenar uzunluðunu giriniz : n(Örneðin 10 yazarsanýz, koordinatlar (1,1) ile (10,10) noktalarý arasýnda olacaktýr)n(Tamsayý olmasýný istemediðiniz deðerleri elle deðiþtirebilirsiniz)n');
    max=input('Maksimum araç kapasitesini giriniz : n');
    %Veriler hesaplaniyor.
    [RotalarSak2,RotalarYog2,TaleplerSak2,TaleplerYog2,RotaMesafeleriSak2,RotaMesafeleriYog2]=TekDepoBITIRME3(UzMatSak,UzMatYog,taleplerSak,taleplerYog,karincakatsayisi,iterasyonsayisi,sayi,max);
    Rotamesafeleri=topla2(RotaMesafeleriSak2);
    xlswrite('Sonuclar.xlsx',Rotamesafeleri,'KM','B2');
    Rotalar=Topla(RotalarSak2,44);
    Talepler=Topla(TaleplerSak2,44);
    Rotamesafeleri=Topla(RotaMesafeleriSak2,1);

    j=1; satırını alıp, while i<=hafta satırının altına taşıyın. Sorununuz çözülecektir.
  • 02-05-2019, 14:04:21
    #7
    Çok saol hocam çözdün. pm gönderdim sana
    DeviLLe adlı üyeden alıntı: mesajı görüntüle
    j=1; satırını alıp, while i<=hafta satırının altına taşıyın. Sorununuz çözülecektir.