2011-11-04 33 views
-3

我已經嘗試了在MATLAB創建稀疏圖下面的代碼:「意外的MATLAB表達」當創建稀疏圖

cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],... 
    [2 3 3 1 1 1 2 3],6,6)cm = 

,但它給了我下面的錯誤

???  [2 3 3 1 1 1 2 3],6,6)cm = 
           | 
Error: Unexpected MATLAB expression. 

我採取這種代碼從the official site,所以我不明白爲什麼它會產生一個錯誤。

+5

現在是時候開始閱讀BASIC教程了,如果你不明白爲什麼這樣一個簡單的表達式不起作用。你複製的虛假的「cm =」是垃圾,從誰知道哪裏得到。 – 2011-11-04 10:36:19

+0

看到它請http://www.mathworks.com/help/toolbox/bioinfo/ref/graphmaxflow.html –

+0

爲什麼downvoting第一次看到的網站,它不能是這樣的行動 –

回答

2

您不應該在末尾寫cm =部分。也就是說,當你在命令行上寫

cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],... 
    [2 3 3 1 1 1 2 3],6,6) 

,你會得到

cm = 

    (1,2)  2 
    (1,3)  3 
    (2,4)  3 
    (3,4)  1 
    (2,5)  1 
    (3,5)  1 
    (4,6)  2 
    (5,6)  3 

這是因爲,你沒有在聲明的結尾寫分號。如果您不想看到cm的值,只需在關閉圓括號後添加分號即可。另外...告訴寫多行語句。你可以寫

cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],[2 3 3 1 1 1 2 3],6,6) 

或者。

1

恭喜,您在MATLAB文檔中發現了一個錯誤!

cm =末屬於下一行,實際上是輸出MATLAB給你當鍵入

cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],... 
    [2 3 3 1 1 1 2 3],6,6) 

MATLAB使用換行符除非你結束符合...以表示一個命令的結束,並且在第二行的右括號之後它不理解cm應該是什麼意思;-)

1

MATLAB文檔有一個錯誤,對現有MATLAB背景的人無害,但可能很難被初學者識別。引述MATLAB document

cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],... 
    [2 3 3 1 1 1 2 3],6,6)cm = 

(1,2)  2 
(1,3)  3 
(2,4)  3 
(3,4)  1 
(2,5)  1 
(3,5)  1 
(4,6)  2 
(5,6)  3 

究竟是什麼意思說的是以下幾點:

cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],... 
    [2 3 3 1 1 1 2 3],6,6) 

cm = 

(1,2)  2 
(1,3)  3 
(2,4)  3 
(3,4)  1 
(2,5)  1 
(3,5)  1 
(4,6)  2 
(5,6)  3 

注意cm =現在是一條新的線路僅僅表示由sparse函數產生的輸出的開頭。從這個例子中你需要做的稀疏矩陣是寫

cm = sparse([1 1 2 2 3 3 4 5],[2 3 4 5 4 5 6 6],... 
      [2 3 3 1 1 1 2 3],6,6) 

這會給你想要的結果。一般來說,正如一些評論者指出的那樣,我建議在繼續學習更復雜的主題(如稀疏矩陣和圖形)之前,先閱讀基本的MATLAB教程。