xlswrite in for loop
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I wrote a genetic algorithm code about Travelling Salesman Problem. I want to run the program 100 times (each run includes 5000 iterations). In each run, the program yields the optimal route w.r.t its total distance. I want the computer to write this best solution (it is the first row o a matrix) into an excel file, each solution added in different rows in excel (i.e. the result of first run in row 1 in spreadsheet, the result of second run in second row in spreadsheet and so on). I used xlsread('experiments', L(1,:), 'exp1', 'A(counter):Q(counter)') but dinna work and gave object returned error code: 0x800A03EC. Thanks.
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 20 Mai 2013
You should not run xlswrite() 100 times, unless you are prepared to wait a long time - a very long time. It will have to launch Excel and shutdown Excel each time you call xlswrite(). It will be so much faster to use ActiveX, and xlswrite1() from the File Exchange. I've posted ActiveX demos here before. Let me know if you want me to post it again here.
8 Kommentare
Image Analyst
am 20 Mai 2013
Let me know what the error is. If you're going to be using Excel with MATLAB, then using ActiveX is something you should learn at some point. The basics aren't hard but sometimes if you want to do something advanced it takes a while to find the name of the right method to do what you want to do.
Weitere Antworten (1)
Iain
am 20 Mai 2013
Bearbeitet: Iain
am 20 Mai 2013
Define the top-left corner of where you want to write data and ensure it is a string.
xlswrite('filename.xls',L(1,:),'sheet name here',['A' num2str(counter)]);
4 Kommentare
Iain
am 20 Mai 2013
If you really did put a colon between 'A' and num2str(counter) it would do that.
['A' num2str(5)] concatenates 'A' with '5' to get 'A5'
Siehe auch
Kategorien
Mehr zu Spreadsheets finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!