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