2016-01-30 62 views
0

我有一個簡單的matlab代碼,使用轉換矩陣和蒙特卡洛仿真。我附上了代碼。如何將結果寫入輸出文件(最好是excel)每次運行

我需要你做的事情是:將每次運行的結果寫入excel,並根據不斷變化的模式大小。代碼照常寫入最後的數字。我希望看到一個名爲「pattern」的數組的每個運行結果。例如,「模式」將是這樣的(假定T = 3和;

Run1--- 45 12 17 17 17 
Run2--- 56 24 24 
Run3--- 7 45 45 21 

在下面的MATLAB代碼: 圖案:訪問模式公司,顧客說訪問公司2然後公司...,所以模式2-3 ... PR:我參觀了次公司數目 序列:次公司相繼走訪公司總數我 [這裏是轉移矩陣的Excel]

clear all; 
    clc; 
    t=10; 
     for ii=1:t 
     . 
     %(The codes created the pattern array) 
     . 
      filename=('output1.xlsx'); 
      xlswrite(filename,pattern,sheet1,'B2:NT2'); 

     end 

當我使用的代碼它只給出了當ii = 3時的最後結果;

  Run3--- 7 45 45 21 

它不一定是優秀的,其他輸出文件也可以。 我試圖使用sprintf,但它不起作用。

預先感謝您。

+2

請不要轉貼您的問題,如果你沒有得到足夠的答案。我建議刪除[你的其他問題](http://stackoverflow.com/questions/34687826/how-to-write-the-matlab-results-in-excel-that-has-different-runs)。 –

回答

1

你可以做的是創建一個使用sprintf的字符串:

SheetRange = sprintf('B%i:NT%i',ii+1,ii+1); 
xlswrite(filename,pattern,sheet1,SheetRange); 

sprintf將一個字符串與指定的格式,在這種情況下'B%i:NT%i',其中%i表示整數應該去那裏。由於您指定了%i兩次,因此需要兩個整數進入字符串,因此需要ii+1,ii+1

當然,與以往一樣:考慮not using i as a variable name

+0

嗨Adriaan,你能澄清ii + 1部分嗎? –

+0

未定義的函數或變量'ii'。 monte9錯誤(第64行) SheetRange = sprintf('B%i:NT%i',ii + 1,ii + 1); –

+0

@ Dr.Turkuaz我使用'ii'作爲變量而不是'i'。看到我發佈的鏈接爲什麼我這樣做。只需將您的for循環更改爲'for ii = 1:t' – Adriaan

相關問題