占用你时间的学校热身运动 - 页 5 12345678 新评论 Nikolai Semko 2020.09.27 15:12 #41 Aleksey Nikolayev:1)很难证明最大面积的顶点必须位于同一个圆上的事实(克拉默定理)。我不知道如何证明它,也不知道在哪里可以读到证明。2)我并不真的相信存在圆的最大面积或半径的分析公式。3)数组元素 的总和可以通过MathSum()计算。 1)我认为这是一个明显的事实。而通过理解很容易证明,当给定顶点A、中线h和给定对边a的三角形的最大面积是等腰三角形的面积时,给定顶点的角度是最大的。而这种三角形的面积为h*a/2 想象一下,多边形给定边之间的所有节点都是灵活的(就像儿童在磁铁上的建筑套装一样),很明显,我们可以将边排列成这样一种方式,即所有顶点都有一个共同的等距中心(前提是大边小于其他边的总和,否则不能连接),即刻在一个圆内。而这将是最大的面积,因为它由等腰三角形的面积之和组成,其边长等于这个圆的半径。 2) 我相信 3) 我在MQL4或MQL5中没有找到这样的公式。 Andrei Trukhanovich 2020.09.27 15:24 #42 Nikolai Semko:1)我认为这是一个明显的事实。 直观上是的,但它甚至没有延伸到一个僵硬的证明,无论如何。 2) 我相信 如果有,可以找到,只有一个方程组 Aleksey Nikolayev: 1)困难在于证明这样一个事实:面积最大的mnc的顶点必须位于同一个圆上(克拉默定理)。我不知道如何证明它,也不知道在哪里可以读到证明。 我根本没有找到这样的定理,只是提到了这个属性。 Oleg avtomat: http://algolist.ru/maths/geom/polygon/area.php 像往常一样,无用的参考资料,没有一个字是关于这个问题的。 [删除] 2020.09.27 15:37 #43 Andrei Trukhanovich:像往常一样,没有用的参考资料,没有一个字的内容。 对你来说真的没有用 Aleksey Nikolayev 2020.09.27 15:47 #44 Nikolai Semko:1)我认为这是一个明显的事实。而通过理解很容易证明,当给定顶点A、中线h和给定对边a的三角形的最大面积是等腰三角形的面积时,给定顶点的角是最大的。而这种三角形的面积为h*a/2想象一下,多边形给定边之间的所有节点都是灵活的(就像儿童在磁铁上的建筑套装一样),很明显,我们可以将边排列成这样一种方式,即所有顶点都有一个共同的等距中心(前提是大边小于其他边的总和,否则不能连接),即刻在一个圆内。而这将是最大的面积,因为它由等腰三角形的面积之和组成,其边长等于这个圆的半径。2) 我相信3) 我在MQL4或MQL5中没有发现这样的公式。 1) 也许可以用某种方式将其正式化为:当顶点位于一个圆上时,顶点的坐标对mnc面积的变化(导数)等于零。只是这是一个局部极值的条件,我们需要证明:1)它是一个最大值;2)它是全局的。 3)MathSum() #include <Math\Stat\Math.mqh> void OnStart() { double a[] = {1.0, 2.0, 3.0}, s; s = MathSum(a); Print("s=", s); } s=6.0 Dmitry Fedoseev 2020.09.27 15:49 #45 你从其他多项式的根中得到一个多项式,并从所有这些baad中得到三个导数。千米公式。谁知道呢,也许最后会有一个惊喜在等着。我们必须要有一些诀窍。 Aleksey Nikolayev 2020.09.27 16:06 #46 Andrei Trukhanovich:直观上是的,但它甚至不等于一个严格的证明。如果有,可以找到,只有一个方程组。我根本找不到这样的定理,只提到了这个属性。像往常一样,无用的参考资料,没有一个字是关于这个问题的。 在网上搜索 "给定边最大面积的多边形",只发现这个结果是 "众所周知的")和像尼古拉给出的数字解决方案。 显然,你必须翻阅一些关于几何学的古书--现在他们不喜欢阐述这种东西了。 Vladimir Simakov 2020.09.27 16:07 #47 上述解法仅适用于圆心位于周长内的多边形。试试三角形{2,2,3.9}。 在一般情况下(用精确的双倍数进行近似),解决方案如下。 enum EEqual {LESS=-1,EQUALY,MORE}; //------------------------------------------------------- struct SRes{ double s; double r; double degDelta; SRes(){ZeroMemory(this);} SRes(double _s,double _r,double _degDelta):s(_s),r(_r),degDelta(_degDelta){} SRes(const SRes &other) {this=other;} bool operator !() {return !s;} }; //------------------------------------------------------- const double _2PI=2*M_PI; //------------------------------------------------------- EEqual Check(double &array[],int size){ int ii=0; double max=0.0, tmp=0.0, sum=0.0; for (int i=0;i<size;++i){ if (array[i]<=0.0) return false; max=MathMax(max,array[i]); if (max!=tmp){ ii=i; tmp=max;} sum+=array[i];} EEqual ret=max<sum/2?MORE:LESS; if (ret==MORE){ tmp=array[ii]; array[ii]=array[--size]; array[size]=tmp;} return ret;} //--------------------------------------------------- SRes ComputeCenterOut(const double &array[], double deg){ int size=ArraySize(array)-1; double r=array[size]/2.0/sin((deg-M_PI)/2.0); double sum=0.0, square=-r*cos(deg/2.0)*array[size]/2.0; for (int i=0;i<size;++i){ double _deg=2.0*MathArcsin(array[i]/2.0/r); sum+=_deg; square+=r*cos(_deg/2.0)*array[i];} return SRes(square,r,deg-M_PI-sum); } //--------------------------------------------------- SRes ComputeCenterIn(const double &array[], double deg){ int size=ArraySize(array)-1; double r=array[size]/2.0/sin(deg/2.0); double sum=deg, square=r*cos(deg/2.0)*array[size]/2.0; for (int i=0;i<size;++i){ double _deg=2.0*MathArcsin(array[i]/2.0/r); sum+=_deg; square+=r*cos(_deg/2.0)*array[i]/2.0;} return SRes(square,r,_2PI-sum); } //--------------------------------------------------- SRes ComputeSquare(const double &array[],double min,double max,SRes &prev){ double a=(min+max)/2.0; if (a==min||a==max) return prev; SRes res=a>M_PI?ComputeCenterOut(array,a):ComputeCenterIn(array,a); if (res.degDelta==0.0||res.s==prev.s) return res; if (res.degDelta>0.0) min=a; else max=a; return ComputeSquare(array,min,max,res);} //--------------------------------------------------- SRes Square(const double &in[]){ double tmp[]; int size=ArrayCopy(tmp,in); if (Check(tmp,size)!=MORE) return SRes(); double aMax=_2PI, a=aMax/size; return ComputeSquare(tmp,a,aMax,SRes()); } void OnStart(void) { double arr[]={2,3.9,2}; ulong time=GetMicrosecondCount(); SRes res=Square(arr); time=GetMicrosecondCount()-time; if (!res) Print("Многоугольника с заданными сторонами не существует"); else PrintFormat("Time=%lli %ss\n" "Square=%f\n" "Radii=%f",time,"\xB5",res.s,res.r); } Dmitry Fedoseev 2020.09.27 16:14 #48 Vladimir Simakov:上述解法仅适用于圆心位于周长内的多边形。试试三角形{2,2,3.9}。... 如果问题是在给定边的尺寸下找到一个面积最大的多边形,这与三角形有什么关系? Vladimir Simakov 2020.09.27 16:30 #49 哎呀。我自己只有一个变体计算正确)))))。 UPD: 纠正了。 Nikolai Semko 2020.09.27 16:31 #50 Dmitry Fedoseev:你从其他多项式的根中得到一个多项式,并从所有这些baad中得到三个导数。千米公式。谁知道呢,也许最后会有一个惊喜在等着。我们必须要有一些诀窍。 这里是所有角度的总和与半径的函数。2p的溶液区域以绿色突出显示。 也许这将会有所帮助。,我懒得绞尽脑汁,尤其是我对塔不太擅长。 附加的文件: Zadacha2.mq5 4 kb 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
1)很难证明最大面积的顶点必须位于同一个圆上的事实(克拉默定理)。我不知道如何证明它,也不知道在哪里可以读到证明。
2)我并不真的相信存在圆的最大面积或半径的分析公式。
3)数组元素 的总和可以通过MathSum()计算。
1)我认为这是一个明显的事实。而通过理解很容易证明,当给定顶点A、中线h和给定对边a的三角形的最大面积是等腰三角形的面积时,给定顶点的角度是最大的。而这种三角形的面积为h*a/2
想象一下,多边形给定边之间的所有节点都是灵活的(就像儿童在磁铁上的建筑套装一样),很明显,我们可以将边排列成这样一种方式,即所有顶点都有一个共同的等距中心(前提是大边小于其他边的总和,否则不能连接),即刻在一个圆内。而这将是最大的面积,因为它由等腰三角形的面积之和组成,其边长等于这个圆的半径。
2) 我相信
3) 我在MQL4或MQL5中没有找到这样的公式。
1)我认为这是一个明显的事实。
直观上是的,但它甚至没有延伸到一个僵硬的证明,无论如何。
2) 我相信
如果有,可以找到,只有一个方程组
1)困难在于证明这样一个事实:面积最大的mnc的顶点必须位于同一个圆上(克拉默定理)。我不知道如何证明它,也不知道在哪里可以读到证明。
我根本没有找到这样的定理,只是提到了这个属性。
http://algolist.ru/maths/geom/polygon/area.php
像往常一样,无用的参考资料,没有一个字是关于这个问题的。
像往常一样,没有用的参考资料,没有一个字的内容。
对你来说真的没有用
1)我认为这是一个明显的事实。而通过理解很容易证明,当给定顶点A、中线h和给定对边a的三角形的最大面积是等腰三角形的面积时,给定顶点的角是最大的。而这种三角形的面积为h*a/2
想象一下,多边形给定边之间的所有节点都是灵活的(就像儿童在磁铁上的建筑套装一样),很明显,我们可以将边排列成这样一种方式,即所有顶点都有一个共同的等距中心(前提是大边小于其他边的总和,否则不能连接),即刻在一个圆内。而这将是最大的面积,因为它由等腰三角形的面积之和组成,其边长等于这个圆的半径。
2) 我相信
3) 我在MQL4或MQL5中没有发现这样的公式。
1) 也许可以用某种方式将其正式化为:当顶点位于一个圆上时,顶点的坐标对mnc面积的变化(导数)等于零。只是这是一个局部极值的条件,我们需要证明:1)它是一个最大值;2)它是全局的。
3)MathSum()
s=6.0
你从其他多项式的根中得到一个多项式,并从所有这些baad中得到三个导数。千米公式。谁知道呢,也许最后会有一个惊喜在等着。我们必须要有一些诀窍。
直观上是的,但它甚至不等于一个严格的证明。
如果有,可以找到,只有一个方程组。
我根本找不到这样的定理,只提到了这个属性。
像往常一样,无用的参考资料,没有一个字是关于这个问题的。
在网上搜索 "给定边最大面积的多边形",只发现这个结果是 "众所周知的")和像尼古拉给出的数字解决方案。
显然,你必须翻阅一些关于几何学的古书--现在他们不喜欢阐述这种东西了。
上述解法仅适用于圆心位于周长内的多边形。试试三角形{2,2,3.9}。
在一般情况下(用精确的双倍数进行近似),解决方案如下。
上述解法仅适用于圆心位于周长内的多边形。试试三角形{2,2,3.9}。
...
如果问题是在给定边的尺寸下找到一个面积最大的多边形,这与三角形有什么关系?
哎呀。我自己只有一个变体计算正确)))))。
UPD: 纠正了。
你从其他多项式的根中得到一个多项式,并从所有这些baad中得到三个导数。千米公式。谁知道呢,也许最后会有一个惊喜在等着。我们必须要有一些诀窍。
这里是所有角度的总和与半径的函数。2p的溶液区域以绿色突出显示。
也许这将会有所帮助。
,我懒得绞尽脑汁,尤其是我对塔不太擅长。