【高中数学/极值问题】一条长为L的绳子,一面靠墙,另外三边组成矩形,问此矩形最大面积能是多少?

【问题】

一条长为L的绳子,一面靠墙,另外三边组成矩形,问此矩形最大面积能是多少? 

【示意图】

【解析式】

设垂直于墙的两边长为x,则墙对边长为L-2x,围成的矩形面积S=x(L-2x)

写成标准的解析式为y=x(L-2x)=-2x^2+Lx,x∈(0,L/2)

【函数图像】

由解析式可知该曲线为开口向下经过原点的抛物线的一部分,当L=1时,函数图像如下:

【使用Canvas进行绘图的代码】

<!DOCTYPE html>
<html lang="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<head><title>UNASSIGNED</title><style type="text/css">.centerlize{margin:0 auto;border:0px solid red;width:1200px;height:600px;}</style></head><body οnlοad="draw();"><div class="centerlize"><canvas id="myCanvas" width="1200px" height="600px" style="border:1px dashed black;">如果看到这段文字说您的浏览器尚不支持HTML5 Canvas,请更换浏览器再试.</canvas></div></body>
</html>
<script type="text/javascript">
<!--
/*****************************************************************
* 将全体代码(从<!DOCTYPE到script>)拷贝下来,粘贴到文本编辑器中,
* 另存为.html文件,再用chrome浏览器打开,就能看到实现效果。
******************************************************************/
// 画布宽度
const WIDTH=1200;// 画布高度
const HEIGHT=600;// 画布环境
var context=0;   // 缩放比例
const ScaleUnit=250;// 舞台对象
var stage;// 消逝的时间
var timeElapsed=0;// 图像标题,title
const TITLE=" y=x*(1-2x)";// 核心勾画函数,由body_onload调用
function draw(){document.title="函数"+TITLE+" 图示";// 画图前初始化var canvas=document.getElementById('myCanvas');    canvas.width=WIDTH;canvas.height=HEIGHT; context=canvas.getContext('2d');  // 进行屏幕坐标系到笛卡尔坐标系的变换// 处置完成前,原点在左上角,向右为X正向,向下为Y的正向// 处置完毕后,原点移动到画布中央,向右为X正向,向上为Y的正向context.translate(WIDTH/2,HEIGHT/2);context.rotate(Math.PI);context.scale(-1,1);// 初始化舞台stage=new Stage();// 开始动画animate();
};//-------------------------------
// 画图
//-------------------------------
function animate(){    timeElapsed+=1;// 时间每轮增加1stage.update(timeElapsed);stage.paintBg(context);stage.paint(context);if(timeElapsed<100){        window.requestAnimationFrame(animate);}
}//-------------------------------
// 舞台对象定义处
//-------------------------------
function Stage(){var obj=new Object;obj.prpty={"x":0,"y":0,"pts":[],"pts2":[],"pts3":[],"max":-10,"min":10};// 随时间更新位置obj.update=function(t){// xy值是如何变化的obj.prpty.x+=0.01;let x=obj.prpty.x;obj.prpty.y=x*(1-2*x);// 取极值if(obj.prpty.y<obj.prpty.min){obj.prpty.min=obj.prpty.y;}if(obj.prpty.y>obj.prpty.max){obj.prpty.max=obj.prpty.y;}// 放入数组let arr={"x":obj.prpty.x,"y":obj.prpty.y};// 断点if(arr.x<1){this.prpty.pts.push(arr);}else{this.prpty.pts2.push(arr);}};// 画前景obj.paint=function(ctx){  // 写当前点坐标drawText(ctx,"当前 X:"+this.prpty.x.toFixed(3)+"  Y:"+this.prpty.y.toFixed(3),-400,125,"navy",18);// 写极值drawText(ctx,"max:"+this.prpty.max.toFixed(3)+"  min:"+this.prpty.min.toFixed(3),-400,105,"navy",18);// 绘制曲线paintCurve(ctx,"maroon",this.prpty.pts);paintCurve(ctx,"orange",this.prpty.pts2);paintCurve(ctx,"navy",this.prpty.pts3);};// 画背景obj.paintBg=function(ctx){// 清屏ctx.clearRect(-600,-300,1200,600);ctx.fillStyle="white";ctx.fillRect(-600,-300,1200,600);// 画X轴drawAxisX(ctx,-600,600,50);// 画Y轴drawAxisY(ctx,-300,300,50);// 画网格线drawGrid(ctx,-600,-300,50,1200,600,50,"grey");// 标题drawText(ctx,"函数 "+TITLE+" 图示",-400,-160,"navy",18);// 作者,日期drawText(ctx,"逆火",-500,-200,"navy",16);drawText(ctx,(new Date()).toLocaleDateString(),-500,-220,"navy",16);};return obj;
}// 连点成线画曲线
function paintCurve(ctx,color,cds){ctx.strokeStyle = color;ctx.beginPath(); for(var i=0; i<cds.length; i++){let y=cds[i].y;if(Math.abs(cds[i].y*ScaleUnit)<300){ctx.lineTo(cds[i].x*ScaleUnit,cds[i].y*ScaleUnit);}}     ctx.stroke();ctx.closePath();
}// 定点画实心圆
function drawSolidCircle(ctx,x,y,r,color){ctx.save();ctx.beginPath();ctx.arc(x,y,r,0,2*Math.PI);ctx.fillStyle=color;ctx.fill();ctx.stroke();ctx.restore();
}// 两点之间画线段
function drawLine(ctx,x1,y1,x2,y2,color){ctx.save();ctx.lineWidth=0.25;ctx.strokeStyle=color;ctx.fillStyle=color;ctx.beginPath();ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.stroke();ctx.closePath();ctx.restore();
}// 画横轴
function drawAxisX(ctx,start,end,step){ctx.save();ctx.lineWidth=0.25;ctx.strokeStyle='navy';ctx.fillStyle='navy';// 画轴ctx.beginPath();ctx.moveTo(start, 0);ctx.lineTo(end, 0);ctx.stroke();ctx.closePath();// 画箭头ctx.beginPath();ctx.moveTo(end-Math.cos(getRad(15))*10, Math.sin(getRad(15))*10);ctx.lineTo(end, 0);ctx.lineTo(end-Math.cos(getRad(15))*10, -Math.sin(getRad(15))*10);ctx.stroke();ctx.closePath();// 画刻度var x,y;y=5;for(x=start;x<end;x+=step){ctx.beginPath();ctx.moveTo(x, 0);ctx.lineTo(x, y);ctx.stroke();ctx.closePath();drawText(ctx,x/ScaleUnit+"",x,y-20,"navy",12);}ctx.restore();
}// 画纵轴
function drawAxisY(ctx,start,end,step){ctx.save();ctx.lineWidth=0.5;ctx.strokeStyle='navy';ctx.fillStyle='navy';// 画轴ctx.beginPath();ctx.moveTo(0, start);ctx.lineTo(0, end);ctx.stroke();ctx.closePath();// 画箭头ctx.beginPath();ctx.moveTo(Math.sin(getRad(15))*10, end-Math.cos(getRad(15))*10);ctx.lineTo(0, end);ctx.lineTo(-Math.sin(getRad(15))*10, end-Math.cos(getRad(15))*10);ctx.stroke();ctx.closePath();// 画刻度var x,y;x=5;for(y=start;y<end;y+=step){ctx.beginPath();ctx.moveTo(x, y);ctx.lineTo(0, y);drawText(ctx,y/ScaleUnit+"",x-15,y,"navy",12);ctx.stroke();ctx.closePath();}ctx.restore();
}// 画网格线
function drawGrid(ctx,x1,y1,step1,x2,y2,step2,color){ctx.save();ctx.lineWidth=0.5;ctx.strokeStyle=color;ctx.fillStyle=color;ctx.setLineDash([5,5]);// 设置虚线var x,y;for(x=x1;x<x2;x+=step1){ctx.beginPath();ctx.moveTo(x, y1);ctx.lineTo(x, y2);ctx.stroke();ctx.closePath();}for(y=y1;y<y2;y+=step2){ctx.beginPath();ctx.moveTo(x1, y);ctx.lineTo(x2, y);ctx.stroke();ctx.closePath();}ctx.restore();
}//-------------------------------
// 角度得到弧度
//-------------------------------
function getRad(degree){return degree/180*Math.PI;
}//-------------------------------
// 得到颜色
//-------------------------------
function getColor(index){var arr=["aqua"/* aqua湖绿色*/,"black"/* black黑色*/,"blue"/* blue蓝色*/,"fuchsia"/* fuchsia 紫红*/,"green"/* green 绿色*/,"grey"/* grey 草木灰*/,"lime"/* lime 亮绿色*/,"maroon"/* maroon 棕色*/,"navy"/* navy 海军蓝*/,"orange"/* orange 橙色*/,"purple"/* purple 紫色*/,"red"/* red 大红*/,        "skyblue"/* skyblue 天蓝*/,"teal"/* teal 蓝绿色*/,"yellow"/* yellow 亮黄*/,"#aa0000"/* #aa0000 铁锈红*/,        ];if(index>arr.length){index=index % arr.length;}return arr[index];
}//-------------------------------------
// 绘制文字,指定颜色
// ctx:绘图环境
// text:文字
// x,y:坐标
// color:颜色
// size:字体大小
//-------------------------------------
function drawText(ctx,text,x,y,color,size){ctx.save();ctx.translate(x,y)ctx.rotate(getRad(180))ctx.scale(-1,1)ctx.textBaseline="bottom";ctx.textAlign="center";ctx.fillStyle=color;ctx.font = size+"px consolas";ctx.fillText(text,0,0);ctx.restore();
}
//-->
</script>

通过解析式我们可以知道极值点在抛物线的顶点(0.25,0.125)处,但通过解析式直接得到极值点不是求极值的常用方法,下面将分别讨论三种常用求极值点的方法。 

【三种常用找极值的方法】

一.基本不等式法求极值

基本不等式法的核心理念是认为曲线的最低/最高点即为曲线的极值点,基本不等式中两变量的和为定值时可找到两变量积的最大值,两变量的积为定值时可找到两变量的和的最小值。

y=x(L-2x)=2x*(L-2x)/2

而L=2x+(L-2x)>=2*根号下(2x*(L-2x))

得到2x*(L-2x)<=L^2/4

所以y的最大值=L^2/4/2=L^2/8,此时x=L/4

二.判别式法找极值

判别式法找极值的理念是认为直线y=定值与曲线相交仅有一个交点的地方为曲线的极值点。

由y=-2x*2+Lx移项可得到

2x^2-Lx+y=0  此时y已经视为二次函数的常数项

Δ=L^2-4*2*y

当y=L^2/8时,Δ=0,2x^2-Lx+y=0仅有一个根。

即直线y=L^2/8仅与y=-2x*2+Lx只有一个交点(切点)

三.导数法求极值

导数法求极值的理念是认为曲线的切线斜率为0时即切线与x平行处为曲线的极值点

由y=-2x*2+Lx两边求导得

y'=-4x+L

当y'=0,即x=L/4时,y有最大值L^2/8.

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本地Windows电脑 连接 Windows 服务器

Windows电脑 连接 Windows 服务器 方式1&#xff1a;直接搜索 在电脑的搜索栏&#xff0c;输入“远程桌面连接” 可以选择点击 “打开” 或者直接按 回车键 “Enter”&#xff0c;打开 远程桌面连接 方式2&#xff1a;运行框打开服务器连接 同时按&#xff1a;Windows徽标键…

数字图像处理、机器视觉(计算机视觉)、计算图形学概念

数字图像处理&#xff08;Digital Image Processing&#xff09;--又称为计算机图像处理&#xff0c;它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程&#xff0c;以提高图像的实用性&#xff0c;达到人们所要求的预期结果。从输入到输出来看&#xff0c;数字图…

java+springboot+Mysql“友书”综合书籍平台系统24489-计算机毕业设计项目选题推荐(附源码)

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;“友书”综合书籍平台当然也不能排除在外。“友书”综合书籍平台系统是以实际运用为开发背景&#xff0c;运用软件工程原…

搜维尔科技:详谈ART的工具追踪技术

您的生产流程中是否已经受益于刀具跟踪系统&#xff1f;您是否意识到它们的价值&#xff1f;因为它们可以优化您的装配顺序&#xff0c;从而节省您的时间和金钱。 目前我们提供两种工具跟踪解决方案&#xff1a; 1.ART与 VERPOSE的解决方案——易于使用的图像识别 安装在工…

‘prettier‘ 不是内部或外部命令,也不是可运行的程序

报错信息&#xff1a;‘prettier’ 不是内部或外部命令、操作系统或可运行的程序 表明系统无法识别prettier这一命令。 解释&#xff1a; 这通常发生在尝试在命令行中运行prettier这个代码格式化工具时&#xff0c;但系统未安装prettier或者prettier没有正确添加到系统的环境…

UE5 05-利用 timeline 插值运动

理解成 unity Dotween DoMove 插值运动即可 AddTimeLine 节点 物体插值运动 物体插值缩放 一个timeline 可以K多个动画帧

基于STM32F103C8T6的同步电机驱动-CubeMX配置与IQmath调用

基于STM32F103C8T6的同步电机驱动-CubeMX配置与IQmath调用 一、功能描述: 上位机通过CAN总线实现对电机的运动控制,主要包含三种模式:位置模式、速度模式以及力矩模式。驱动器硬件核心为STM32F103C8T6,带相电压采集电路以及母线电压采集电路。其中供电电压12V。 PWM中心对…

【Web】Nginx:静态网站部署

Nginx 是一个HTTP和反向代理服务器&#xff0c;邮件代理服务器&#xff0c;以及一个通用的TCP/UDP代理服务器&#xff0c;最初由Igor Sysoev编写。很长一段时间以来&#xff0c;它一直在许多负载较重的俄罗斯网站上运行&#xff0c;包括Yandex、Mail.Ru、VK和Rambler。根据Netc…

DT浏览器很好用

DT浏览器是一款简单的浏览器&#xff0c;又是强大的浏览器&#xff0c;界面简洁大方&#xff0c;软件使用流畅。DT浏览器的网址收藏&#xff0c;人工智能写作&#xff0c;书法笔记等功能与众不同。DT浏览器的图文识别功能和笔记本搭配使用&#xff0c;可以对内容编辑修改和保存…

RestTemplate、MockMVC、Swagger

rest代码风格 硬编码的部分在实际开发中都是会替换成枚举对象 SpringMVC会自动把json格式的post请求转化为对应接收的 对象 响应请求时&#xff0c;也会自动把 对象转化为 json格式的 RestTemplate 浏览器的地址栏只能提供get请求访问后端&#xff0c;如果要使用post方式发送…

Docker一键部署PostGIS

创建文件 docker-compose.yml version: ‘3.3’ services: db: image: postgis/postgis:14-3.4 container_name: postgres_postgis environment: POSTGRES_DB: ais_spatial_db POSTGRES_USER: root POSTGRES_PASSWORD: my_passwd ports: - “54321:5432” volumes: - pgdata:/v…

混淆矩阵全解析:深度理解目标检测算法性能评估

混淆矩阵全解析&#xff1a;深度理解目标检测算法性能评估 在机器学习和目标检测领域&#xff0c;评估模型的性能是一个至关重要的步骤。混淆矩阵&#xff08;Confusion Matrix&#xff09;是一种常用的工具&#xff0c;用于可视化模型的预测结果与实际标签之间的关系。本文将…

[A-03] ARMv8/ARMv9-多级Cache架构

ver 0.1 前言 前面文章我介绍了Cache的基本架构、Cache的详细的结构&#xff0c;有了一定的cache的基础&#xff0c;对cache机制也有了sense。实际上Cache作为CPU架构中存储机制的核心组件和CPU的微架构以及系统的总线架构还是密切相关的&#xff0c;不同的体系下&#xff0c…

传统数据处理系统存在的问题

传统应用的数据系统架构设计时&#xff0c;应用直接访问数据库系统。当用户访问量增加时&#xff0c;数据库无法支撑日益增长的用户请求的负载&#xff0c;从而导致数据库服务器无法及时响应用户请求&#xff0c;出现超时的错误。 出现这种情况以后&#xff0c;在系统架构上就采…

常用的Linux系统命令

常用的Linux系统命令 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来探讨一些常用的Linux系统命令&#xff0c;这些命令对于系统管理员、开发人员和普…

Excel 中的元素定位:相对定位、绝对定位和混合定位

在Excel中&#xff0c;单元格引用有三种主要类型&#xff1a;相对定位、绝对定位和混合定位。 这些类型主要用于公式和函数中&#xff0c;决定在复制或拖动公式时引用如何变化。 1. 相对定位 相对定位指的是不带“$”符号的单元格引用&#xff0c;例如 A1。 这种引用方式在…

【Axure高保真原型】中继器表格——移入显示详情卡片案例

今天和大家分享中继器表格——移入显示详情卡片的原型模板&#xff0c;鼠标移入员工号或姓名会弹出员工卡片&#xff0c;可以查看更详细的信息。这个表格是用中继器制作的&#xff0c;所以使用也很方便&#xff0c;只需要维护中继器表格里的信息&#xff0c;即可自动生成交互效…

常见网络攻击类型大盘点,来看看你有没有中招

常见的网络攻击类型 网络攻击是指旨在针对计算机或计算机化信息系统的任何元素进行的非法操作&#xff0c;包括数据篡改、窃取或破坏&#xff0c;以及利用或损害网络的行为。以下是一些常见的网络攻击类型&#xff1a; DoS和DDoS攻击&#xff1a;DoS&#xff08;Denial of Ser…

第一百四十二节 Java数据类型教程 - Java字符数据类型

Java数据类型教程 - Java字符数据类型 Character类的一个对象包装一个char值。 字符类包含isLetter()和isDigit()方法来检查字符是否为字母和数字。 toUpperCase()和toLowerCase()方法将字符转换为大写和小写。 该类提供了一个构造函数和一个工厂valueOf()方法来从char创建对…

Kubernetes云原生存储解决方案openebs部署实践-4.0.1版本(helm部署)

Kubernetes云原生存储解决方案openebs部署实践-4.0.1版本&#xff08;helm部署&#xff09; 简介 OpenEBS 是一种开源云原生存储解决方案。OpenEBS 可以将 Kubernetes 工作节点可用的任何存储转化为本地或复制的 Kubernetes 持久卷。OpenEBS 帮助应用和平台团队轻松地部署需要…