用matlab 将周长为2p的矩形绕他的一边旋转而构成的一个圆柱体问矩形的边长为多大时圆柱体体积最大

1个回答

  • 首先将问题转化,求体积的最大值转化为求体积倒数的最小值,然后利用matlab库函数 fminbnd求解,具体代码如下

    %p可以随便定义,只要大于0就行

    p = 2;

    [x v] = fminbnd(@(x) 1/(pi*x^2)/(2*p-x),0,2*p);

    y = 2*p-x;

    %下面是对p归一化

    x = x/p;

    y = y/p;

    v = 1/v/p/p/p;

    %结果显示

    disp(['x = ',num2str(x),'p'])

    disp(['y = ',num2str(y),'p'])

    disp(['v = ',num2str(v),'p^3'])