求最大值

求$(\cos x+2)(\sin x+1)$的最大值

解: 设$$f(x)=\cos x \sin x +\cos x+ 2\sin x +2$$
令$t=\tan{\frac{x}{2}}$, 则
$$\sin x=\frac{1}{1+t^{2}}; \cos x=\frac{1-t^{2}}{1+t^{2}}$$
带入$f(x)$, 转为求下式的最大值
$$g(t)=\frac{-t^{4}+2t^{3}+6t+1}{(1+t^{2})^{2}}+2$$
对$g(t)$求导数
$$g‘(t)=\frac{-2(t^{4}+2t^{3}+6t^{2}+2t-3)}{(1+t^{2})^{3}}$$
令 $g‘(t)=0$,即是使得
$$t^{4}+2t^{3}+6t^{2}+2t-3=0$$
对上式作因子分解
$$(t+1)(t^{3}+t^{2}+5t-3)=0$$
由一元三次方程求根公式,可得上式的四个根。$x_{0}=-1$.
$$x_{1}=-\frac{1}{3}-\frac{(1+ \sqrt{3}i)(31+3\sqrt{183})^{1/3}}{3\times 2^{2/3}}+\frac{7(1-\sqrt{3}i)}{3(2(31+3\sqrt{183}))^{1/3}}$$
$$x_{2}=-\frac{1}{3}-\frac{(1- \sqrt{3}i)(31+3\sqrt{183})^{1/3}}{3\times 2^{2/3}}+\frac{7(1+\sqrt{3}i)}{3(2(31+3\sqrt{183}))^{1/3}}$$
$$x_{3}=\frac{1}{3}\left(-1-\frac{7\times 2^{2/3}}{(31+3\sqrt{183})^{1/3}}+2^{1/3}(31+3\sqrt{183})^{1/3}\right)$$
判断$-1$与$x_{3}$的大小以便判断$g‘(t)$的变化趋势也比较麻烦,由连续函数于闭区间上必可取得最大值和最小值,直接计算$g(+\infty),g(-\infty),g(-1),g(x_{3})$ 即得最大值为
$$g(x_{3})=2+\dfrac{\sqrt[3] {4644+183\sqrt{183}} }{12}+\dfrac{83}{4\sqrt[3] {4644+183\sqrt{183} }}$$

时间: 2024-11-10 07:54:50

求最大值的相关文章

求最大值和scanf函数的使用以及函数的声明

/* ============================================================================ Name : MaxNumber.c Author : lf Version : Copyright : Your copyright notice Description : 求最大值和scanf函数的使用以及函数的声明 ==========================================================

1138: 零起点学算法45——求最大值

1138: 零起点学算法45--求最大值 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1691  Accepted: 879[Submit][Status][Web Board] Description 输入一些整数,求最大值 Input 多组测试数据 首先输入1个整数n表示测试组数 然后每行首先输入1个整数m,再输入m个整数 Output 对于每组测试数据输出1行,内容为m个整数的最大值 Sa

九度oj 题目1046:求最大值

题目1046:求最大值 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:11782 解决:4789 题目描述: 输入10个数,要求输出其中的最大值. 输入: 测试数据有多组,每组10个数. 输出: 对于每组输入,请输出其最大值(有回车). 样例输入: 10 22 23 152 65 79 85 96 32 1 样例输出: max=152 1 #include <iostream> 2 #include <vector> 3 #include <algorithm&g

&lt;28&gt;【了解】10-枚举类型介绍及定义+【掌握】11-枚举变量变量定义和使用+【掌握】13-typedef定义新的类型+【掌握】15-宏的概念及无参宏定义方法+【掌握】16-有参宏定义和使用方法+【掌握】17-应用:使用有参宏求最大值+【掌握】18-typedef和#define的区别

[了解]10-枚举类型介绍及定义 枚举类型: C语言提供了一个种类型,这种类型的变量的取值被限定在一定的范围之内了 枚举类型的定义: enum 枚举类型名{ 枚举值1,枚举值2,.... }; 举例: 定义一个变量,保存一周的第几天 enum weekday{ zhouyi,zhouer,zhousan,zhousi,zhouwu ,zhouliu,zhouri }; 定义iPhone手机的颜色 关于枚举类型元素的命名习惯 enum iColor{kIcolorWhite,kIcolorBlac

矩阵连乘 和表达式加括号求最大值

矩阵连乘核心代码1 for(int i=0;i<=n;i++) 2 m[i][j]=0; 3 for(r=1;r<n;r++) 4 for(i=1;i<=n-r;i++) 5 { 6 j=i+r; 7 m[i][j]=m[i+1][j]+p[i-1]*p[i]*p[j]; 8 s[i][j]=i; 9 for(k=i+1;k<j;k++) 10 { 11 int t=m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j]; 12 if(t<m[i][j]) 13

数组用法----求最大值、最小值和平均数

public class d { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 //数组 求最大值.最小值.平均分 int a[]={70,80,90,75,84,88}; int n; int min =100; int max = 1; for(n=0;n<6;n++) { if(max<a[n]) { max=a[n];//循环比较max和a[n]的大小 }else if(m

zzuli求最大值

1786: 求最大值 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 134  Solved: 28SubmitStatusWeb Board Description 给定n个数,a[1]到a[n],请你帮忙找出a[i] - a[j]的最大值,其中1 <= i < j <= n. Input 第一行一个数T,表示一共有T组数据(T <= 20); 每组测试数据第一行一个整数n(2 <= n <= 10 ^ 5),表示接下来

MapReduce求最大值最小值问题

import java.io.File; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapreduce.Job; import

HDU 1754 I Hate It 线段树单点更新求最大值

题目链接 线段树入门题,线段树单点更新求最大值问题. #include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #define N 200005 using namespace std; int data[N]; struct Tree { int l,r,ans; }tree[N*4]; void build(in

分组求最大值,最小值 使用开窗函数经验总结

select distinct TT.prod_id, tt.creteTime, tt.inspection_time, tt.cnt from (select s.prod_id, min(s.datetime_created) over(partition by s.prod_id) as creteTime, max(s.inspection_time) over(partition by s.prod_id) as inspection_time, sum(s.complete_cou