求个最大值算法

antoniusguo 2010-08-03 06:27:50
问题如下

y = sin(x)

其中x取0-2PI中某2个点之间的范围,
求y的最大值

由于时间太长,我都还给老师了,烦劳各位赐教,另外,请给出尽量快的算法。谢谢
...全文
159 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿双2009 2010-08-03
  • 打赏
  • 举报
回复
zhushoudong 2010-08-03
  • 打赏
  • 举报
回复
很久都没高过这样的东西 了 进来学习下
Peter200694013 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 antoniusguo 的回复:]
引用 5 楼 peter200694013 的回复:
对a,b的位置讨论

可能结果 sin(a),sin(b), 1,



你这个说法提醒了我,判断是不是1最大,只要简单判断这个范围是否包括PI/2就可以了,谢谢
[/Quote]
Peter200694013 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 peter200694013 的回复:]
引用 6 楼 antoniusguo 的回复:
引用 5 楼 peter200694013 的回复:
对a,b的位置讨论

可能结果 sin(a),sin(b), 1,


我现在就是要找出,到底是sin(a)还是sin(b)还是1

a,b是随机的?可以写个方法,输入为a,b,输出为最大值么?
[/Quote]

public static Double GetMaxSin(Double a, Double b) //a < b,0 - 2PI
{
if(b < Math.PI / 2)
{
return Math.Sign(b);
}
else if( b > Math.PI / 2 && b < Math.PI)
{
return 1;
}
else if(b > Math.PI && b < Math.PI * 1.5)
{
if(a < Math.PI /2)
return 1;
else
return Math.Sign(a);
}
else
{
if(a < Math.PI / 2)
return 1;
else if(a > Math.PI / 2 && a < Math.PI)
return Math.Sign(a);
else
{
return Math.Sign(a) > Math.Sign(b)? Math.Sign(a):Math.Sign(b);
}
}
}
antoniusguo 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 peter200694013 的回复:]
对a,b的位置讨论

可能结果 sin(a),sin(b), 1,
[/Quote]


你这个说法提醒了我,判断是不是1最大,只要简单判断这个范围是否包括PI/2就可以了,谢谢
Peter200694013 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 antoniusguo 的回复:]
引用 5 楼 peter200694013 的回复:
对a,b的位置讨论

可能结果 sin(a),sin(b), 1,


我现在就是要找出,到底是sin(a)还是sin(b)还是1
[/Quote]
a,b是随机的?可以写个方法,输入为a,b,输出为最大值么?
antoniusguo 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 peter200694013 的回复:]
对a,b的位置讨论

可能结果 sin(a),sin(b), 1,
[/Quote]

我现在就是要找出,到底是sin(a)还是sin(b)还是1
Peter200694013 2010-08-03
  • 打赏
  • 举报
回复
对a,b的位置讨论

可能结果 sin(a),sin(b), 1,
antoniusguo 2010-08-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ccskychenwei 的回复:]
其中x取0-2PI中某2个点之间的范围???
[/Quote]

嗯,可能我说的不太清楚

是从 0 - 2PI 中随机取2个值a,b ( a < b )

求 在 x >= a && x <= b时,y的最大值。
阿双2009 2010-08-03
  • 打赏
  • 举报
回复
很久没做数学题了,待会儿做下看看 :)
阿双2009 2010-08-03
  • 打赏
  • 举报
回复
分类讨论
ccskychenwei 2010-08-03
  • 打赏
  • 举报
回复
其中x取0-2PI中某2个点之间的范围???

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧