2015-11-11 45 views
1

我在MATLAB s-function空間如下面所定義'my sys'在sfunction塊中的初始條件:定義MATLAB函數塊初始條件如

.... 
      sys = simsizes(s); 


     case 1 % derivative 

       sys = mysys(t,x,u,opts); 


     case 3 % output 

      sys = x ; 
..... 

和我在sfunction參數空間把系統狀態的初始條件(dx0)S-function parameters block

現在我已經定義了一個matlab function blockmy sys但有沒有像S-功能塊把我的初始(dx0)條件吧。 sys in matlab function block

我想知道我怎麼可以定義爲dx0 MATLAB功能塊?

回答

0

你似乎混淆了三件事情。

  1. 第一件事是你發佈的MATLAB代碼,我不知道應該去哪裏。

  2. 第二件事是你連接的第一張照片。這確實顯示了S函數的對話框,它需要您爲代碼提供.c文件(使用C語言)。也許你打算使用2級S函數,在那裏你可以輸入MATLAB代碼。

  3. 第三件事是你連接的第二張照片。該圖顯示了一個嵌入式MATLAB函數,它與2級S函數不同,這解釋了爲什麼您看不到可輸入參數的對話框。

你想要做什麼(我猜)是用一些函數來計算導數,即xdot = f(x)。你可以這樣做: - 一個嵌入式MATLAB函數 - 一個S函數 - 一個2級S函數 所有這些也可以設置一個初始條件。但是,您可能想要整合衍生產品。在這種情況下,您需要在功能塊之後添加的積分器模塊上設置初始條件。

相關問題