精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《cuculi (小雪)》之銘言: : ※ 引述《zupo (回文MATLAB版囧)》之銘言: : : 利用 全域變數宣告 + 副程式的寫法 : : 假設一個批次反應器內的鏈鎖反應 : : 以下是範例 : : ============================================================================== : : function pttex42(k1,k2) : : % A -> B -> C Chain Reaction : : % rA = -k1*[A] : : % rB = k1*[A]-k2*[B] : : % rc = k2[B] or [C] = 1 - [A] - [B] : : % To try many k1 and k2 : : global k1 k2 : : [t x]=ode45(@pttdex,[0 60],[1;0;0]) : : plot(t,x) : : function f=pttdex(t,x) : : global k1 k2 : : f=zeros(3,1); : : f(1)= -k1.*x(1); : : f(2)= k1.*x(1)-k2.*x(2); : : f(3)= k2.*x(2); : : ============================================================================== : : 選擇兩個參數 k1 k2 . : : 可以得到微分方程式的計算結果 : : 利用回圈就可以求出更多了 : 請問一下,全域變數宣告可以寫在function理面嗎? : 我寫了一個struct存在.m檔做資料庫 : 然後在使用function的時候會需要讀取那個struct中的資料, : 請問我該怎麼宣告它呢? : 目前的作法是每個function中都把這個struct給貼上一次, : 不知道有沒有可以直接讀取的方式? 可以啊.不過你如果不是用副程式的方式 好像數據就是點用手動慢慢按 這就是我愛用副程式的原因. 可以前後對照看看自己寫的有沒有錯的原因之外 還可以無限擴充程式碼.上下連貫 更重要的一點.就是數據的連動.變數的連動. 如果你今天寫的程式是有關於控制.信號控制等 要連動就得這樣做比較好使用 最後是使用副程式的方式.對於編寫 GUI (使用者圖形介面) 比較方便. 我以前也用不慣.不過久了就習慣囉 -- 數值方法 : 求根值 . ODE系統 . DDE系統. DAE系統. PDE系統 非線性聯立系統. 化工程序控制系統 . 力學系統 RLC 系統 . MCK 系統 . Lalpace 轉換 系統 其他 : 工程數學 .微積分.化工程序.輸送現象.化工程序線性控制 Simulator . MATLAB tool box . Simulink . FORTRAN 不會影像處理.....囧> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.160.163