2016-08-01 65 views
1

我有一個模型來讀取文件並對其執行一些操作並將輸出結果打印到文件中。我收到了一個我無法解決的錯誤。下面的代碼顯示了輸入數據到2d數組的聲明和賦值。錯誤無法展開變量

Real Data_2D[:,:]"data from input file as 2D matrix"; 
length := Streams.countLines(Infile)"length of the input file"; 

    /*collect the data from input file in to 2D matrix */ 
    for i in 1:length loop 
     currentLine := Streams.readLine(Infile, indexDataStart+i-1); 
     nextIndex := 1; 
     for j in 1:noColumns loop 
      (Data_2D[i,j],nextIndex) := Strings.scanReal(currentLine, startIndex=nextIndex,unsigned=false, message="readCoefficientsHawc2.mo c[i,j] : Real scan not successful"); 
     end for; 
    end for; 

我有以下錯誤「無法擴大vairable Data_2D」

這將是有益的verymuch如果我得到一個解決方案。

回答

2

Modelica工具通常在編譯期間不喜歡未知的維度。 Modelica規範說,編譯時應該知道所有的數組大小。

在你的情況下,Data_2D具有未知尺寸。另外,從你的代碼中我看不出什麼類型的組件是長度和Data_2D。他們是參數,常量嗎?

在你的情況下,可能使用Modelica.Blocks.Tables.CombiTable2D從文件讀取表。

+0

感謝您的寶貴答案。我很快就明白了。現在,我有其他問題。我得到一個錯誤「DAE有0個標量和0個方程」。你能幫我解決這個問題嗎? –