首页 > 试题广场 >

函数cos(x)的曲线与x轴相交,围成了许多个大小相同的封闭

[单选题]
函数cos(x)的曲线与x轴相交,围成了许多个大小相同的封闭区域(如下图中的阴影区域)。

在每个封闭区域里画矩形,且只考虑矩形的底边与x轴重合的情况。请问,每个封闭区域可以容纳的最大矩形的面积是多少(精确到小数点后三位)?



  • 1.571
  • 0.870
  • 0.782
  • 1.122
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, np.pi, 0.002)
y = x*np.cos(x)

max(y)*2# 乘以2是因为只考虑了x轴正半轴
plt.plot(x,y)##
1.1221924452421692

编辑于 2019-04-29 20:45:03 回复(0)
li = []
for i in np.arange(0, math.pi/2, 0.001):
    li.append(math.sin(i)*(math.pi-2*i))
sorted_li = sorted(li)
print(sorted_li[-1])

发表于 2019-04-25 20:56:46 回复(0)
很简单  近似计算就可以了  JAVA也能秒出答案

题目给的图不准确把  那个5和10标的有歧义。
题目说的就是给了cos(x)
public class Main {
    public static void main(String[] args) {
//        double w = Math.PI*2/(20.0/3);
        double w = 1;
        double l = 5.0/3;
        double maxS = 0;
        for (double x = 0; x < l; x+=0.00001) {
            double h = Math.cos(w*x);
            if(maxS<h*x)
                maxS = h*x;
        }
        System.out.println(maxS*2);
    }
}
//1.1221926763553334

编辑于 2019-06-01 17:31:45 回复(0)
这道题可以走捷径,利用matplotlib作图然后找大致x的范围,接着利用numpy的linspace在大致范围内默认生成50个点,写个for循环,公式2*abs(x)*cos(x)带进去,结果添加进列表,最后输出max就行了,50个点迭代很快,而且答案与D选项十分接近。
发表于 2019-04-25 20:42:32 回复(0)
近似算法:
只需求一半面积,设横轴坐标为x
则 S = 2*x*cosx
求导 S' = 2*(cosx - xsinx)
S'(0) = 2 > 0   S'(pi/2) = -pi < 0
   
可以拿 pi/4 去预估 S=1.110721 
选D
发表于 2021-03-29 16:56:46 回复(0)

这个题我觉得手算的话估算用麦克劳林展开式会比较容易求导等于零然后得出近似值。然后回带就解决了

发表于 2019-04-27 14:25:45 回复(0)