0
我試圖創建一個等於卷積積分的函數F(t),然後通過取值F(t)來計算theta_n(n + 1) TN)。但是,對於類型爲「char」的輸入參數,我收到錯誤「Undefined function'F'」。有什麼問題?類型爲'char'的輸入參數的未定義函數'F'
function [ theta ] = Untitled(theta_o,omega_o)
nt=5001; %since (50-0)/.01 = 5000
dt = .01; % =H
H=.01;
theta_n = ones(nt,1);
theta_n(1)=0; %theta_o
omega_n = ones(nt,1);
omega_n(1)=-0.4; %omega_o
epsilon=10^(-6);
eta = epsilon*10;
t_o=0;
for n=1:4999
tn=t_o+n*dt;
F := int((422.11/eta)*exp((5*(4*((eta*t-s-tn)^2)/eta^2)-1)^(-1))*omega, s,tn- (n/2),tn+(n/2))
theta_n(n+1) = theta_n(n) + h*F(tn);
end
end
':='是無效的matlab語法。不知道你打算實施什麼。 – Daniel 2014-08-30 21:59:35
您是否正在查看本頁['int']的版本(http://www.mathworks.com/help/symbolic/mupad_ref/int.html)?閱讀該頁面頂部的通知。您正在尋找符號工具箱中['sym/int'](http://www.mathworks.com/help/symbolic/int.html)的文檔,它實際上是相同的,但直接在Matlab中工作。然而,我不確定sym/int會像你期望的那樣返回一個symfun。 – horchler 2014-08-30 22:06:41
我正在嘗試編寫一個循環來計算每一步中定積分的值。函數F非常複雜。簡單地說,它集成了一系列關於s的項,從s = tn-(n/2)到s = tn +(n/2)。整合後,F仍然有一個變量t。所以你可以說F(t)=積分(f(s,t)),其中f(s,t)是「int(」後面的大亂子,在for循環的最後一行,我想在F計算f(s,t)的積分之後,在t = tn處評估F(t) – 2014-08-31 22:00:29