簡體   English   中英

如何在一個區間內通過matlab找到sin(x)的最大值?

[英]How can I find the maximum of sin(x) through matlab on an interval?

僅使用if語句,我需要在閉區間(a,b)找到sin(x)的最大點。 我知道檢查sin(a)或sin(b)是否為1.我也知道如果ba大於2 pi,則最大值為1。

如果這些陳述都不成立,我無法弄清楚如何通過if語句檢查這些點之間的等式值是否為1。

有一個,用sin(x)== 1計算下一個點。 然后將x與b進行比較,以檢查1是否在您的間隔內。

這樣做的步驟:

  1. 減去班次
  2. 除以2 pi
  3. 向上,我們想要一個最大的權利
  4. 反轉2和1

candidate=(ceil((a-pi/2)/pi/2)*pi*2)+pi/2
if candidate<b
   candidate is maximum

首先檢查(ba)> 2pi。

然后你可以使用正弦的導數是余弦的事實。 因此,如果cos(a)是正的並且cos(b)是負的,則在它們之間具有峰值,如果cos(a)是負的並且cos(cos)是正的,則它是谷。 如果cos(a)和cos(b)是相同的符號,那么檢查是否(ba)> pi來確定是否有峰值。 最后是罪(a)vs罪(b)。

說得通? :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM