1

任務是通過用數字方法創建可展曲面,在Matlab中創建一個錐頂。有3個部分我已經完成2.我的問題是關於第3部分,我需要計算可以包含帽子的最小長方形紙張表面。我需要計算紙張的材料浪費。在包含未知變量的Matlab中求解積分?

你也許可以跳過LONG背景並轉到最後一段


背景:

圓錐帽可以與用其尖端位於傾斜圓錐體被創建(一個; 0,B )和一個圓形的基地。

x = Rcos u, 
y = Rsin u 
z = 0 
0<_ u >_2pi 

與 用於R,a和已知的b值

Given differentialequations

ε和ETA( 'N')是當參U從0 x和y值的曲線到2π,alpha是點(ε,η)處曲線的傾斜角。 A處的起始值: u=0, alhpa=0, epsilon=0, eta=0

曲線停在B處,參數u已達到2pi。

1. 我用龍格 - 庫塔-4繪製的曲線,表明尖端位於P = (0, sqrt(b^2 + (R-alpha)^2))

2. 我表明,在RK4使用較小的間隔我仍然得到相當不錯的準確性,但那麼問題就是曲線不平滑。因此,我在每個區間使用了ε和ε的Hermite-Interpolation作爲u的函數來獲得更好的曲線。

3. 好吧,現在我需要計算可以包含帽子和紙張材料浪費大小的最小長方形紙張表面。如果模板中的結束角α(2pi)爲pi或pi/2,則材料浪費將更少。我現在得到R & alpha(R = 7.8和alpha = 5.5)的值,我的任務是計算哪個高度,錐形帽將以建築標準alpha(2pi)= pi得到(然後針對alpha (2pi)=另一個大小帽子的pi/2)。

所以我把上述第一個方程(在含B的表達),並改寫它像一個整體: The integral


的問題

我明白的是,我需要解決這積分在matlab中,然後選擇b,以便alpha(2pi)-pi = 0(使用上面給定的標準)。 給出了R和α的值,並且t被定義爲更早的時間間隔(在我做RK4的第1部分中)。所以當積分求解時,我得到f(b)= 0,這應該可以用例如割線方法來解決?但我無法解決matlab函數'積分'的積分..因爲我沒有b的價值當然,這就是我正在尋找的。那麼我怎麼去解決這個問題呢? matlab中是否有可以使用的函數?

回答

1

您可以使用alpha的微分方程並測試b的不同值,直到滿足條件alpha(2pi)=pi。例如:

b0=1 %initial seed 
b=fsolve(@find_b,b0) %use the function fsolve or any of your choice 

功能要解決的是:

function[obj]=find_b(b) 
    alpha0=0 %initual valur for alpha at u=0 
    uspan=[0 2*pi] %range for u 
    %Use the internal ode solver or any of your choice 
    [u,alpha] = ode45(@(u,alpha) integrate_alpha(u,alpha,b), uspan, alpha0); 

    alpha_final=alpha(end) %Get the last value for alpha (at u=2*pi) 

    obj=alpha_final-pi %Function to be solved 
end 

和積分可以這樣做:

function[dalpha]=integrate_alpha(u,alpha,b) 

     a=1; %you can use the right value here 
     R=1; %you can use the right value here 

     dalpha=(R-a*cos(u))/sqrt(b^2+(R-a*cos(u))^2); 

end