数学関数(Math)
導入
これらの数学関数は、実行するコンピューターの integer型および float型の範囲で のみ値を処理します。 (これは、現在、それぞれ、C言語のlongおよびdoubleに対応します。) より大きな数を処理する必要がある場合には、 任意精度数学関数の使用をお勧めします。マニュアルの算術演算子 のページも参照ください。
要件
外部ライブラリを必要としません。インストール手順
PHP コアに含まれるため、 追加のインストール無しで使用できます。実行時設定
設定ディレクティブは定義されていません。リソース型
リソース型は定義されていません。定義済み定数
以下の定数は、PHP コアに含まれており、常に利用可能です。表 148. Math の定数
定数 | 値 | 説明 |
---|---|---|
M_PI | 3.14159265358979323846 | パイ(円周率) |
M_E | 2.7182818284590452354 | e(自然対数の底) |
M_LOG2E | 1.4426950408889634074 | log_2 e |
M_LOG10E | 0.43429448190325182765 | log_10 e |
M_LN2 | 0.69314718055994530942 | log_e 2 |
M_LN10 | 2.30258509299404568402 | log_e 10 |
M_PI_2 | 1.57079632679489661923 | pi/2 |
M_PI_4 | 0.78539816339744830962 | pi/4 |
M_1_PI | 0.31830988618379067154 | 1/pi |
M_2_PI | 0.63661977236758134308 | 2/pi |
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) [5.2.0] |
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi) |
M_SQRT2 | 1.41421356237309504880 | sqrt(2) |
M_SQRT3 | 1.73205080756887729352 | sqrt(3) [5.2.0] |
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2) |
M_LNPI | 1.14472988584940017414 | log_e(pi) [5.2.0] |
M_EULER | 0.57721566490153286061 | オイラー定数 [5.2.0] |
PHP 4.0.0 以前は、M_PI のみが使用可能でした。それ以外の定数は PHP 4.0.0 以降で使用可能となり、[5.2.0] と示されている定数は PHP 5.2.0 以降で使用可能となりました。
目次
- abs — 絶対値
- acos — 逆余弦(アークコサイン)
- acosh — 逆双曲線余弦(アークハイパボリックコサイン)
- asin — 逆正弦(アークサイン)
- asinh — 逆双曲線正弦(アークハイパボリックサイン)
- atan2 — 2 変数のアークタンジェント
- atan — 逆正接(アークタンジェント)
- atanh — 逆双曲線正接(アークハイパボリックタンジェント)
- base_convert — 数値の基数を変換する
- bindec — 2 進数 を 10 進数に変換する
- ceil — 切り上げ
- cos — 余弦(コサイン)
- cosh — 双曲線余弦(ハイパボリックコサイン)
- decbin — 10 進数を 2 進数に変換する
- dechex — 10 進数を 16 進数に変換する
- decoct — 10 進数を 8 進数に変換する
- deg2rad — 度単位の数値をラジアン単位に変換する
- exp — e の累乗を計算する
- expm1 — 値がゼロに近い時にでも精度を保つために exp(number) - 1 を返す
- floor — 切り捨て
- fmod — 引数で除算をした際の剰余を返す
- getrandmax — 乱数の最大値を取得する
- hexdec — 16 進数を 10 進数に変換する
- hypot — 直角三角形の斜辺の長さを計算する
- is_finite — 値が有限の数値であるかどうかを判定する
- is_infinite — 値が無限大であるかどうかを判定する
- is_nan — 値が数値でないかどうかを判定する
- lcg_value — 複合型の線形合同発生器(LCG)
- log10 — 底が 10 の対数
- log1p — 値がゼロに近い時にでも精度を保つ方法で計算した log(1 + number) を返す
- log — 自然対数
- max — 最大値を返す
- min — 最小値を返す
- mt_getrandmax — 乱数値の最大値を表示する
- mt_rand — 改良型乱数値を生成する
- mt_srand — 改良型乱数生成器にシードを指定する
- octdec — 8 進数を 10 進数に変換する
- pi — 円周率の値を得る
- pow — 指数関数値
- rad2deg — ラジアン単位の数値を度単位に変換する
- rand — 乱数を生成する
- round — 浮動点整数を丸める
- sin — 正弦(サイン)
- sinh — 双曲線正弦(ハイパボリックサイン)
- sqrt — 平方根
- srand — 乱数ジェネレータを初期化する
- tan — 正接(タンジェント)
- tanh — 双曲線正接(ハイパボリックタンジェント)
Math クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
使用例
Math クラスの数値関数と三角関数をいくつか使用して、不等辺四辺形の内角を計算する方法については、次のコード例を参照してください。
'The following class represents simple functionallity of the Trapezoid Class MathTrapezoidSample Private m_longBase As Double Private m_shortBase As Double Private m_leftLeg As Double Private m_rightLeg As Double Public Sub New(ByVal longbase As Double, ByVal shortbase As Double, ByVal leftLeg As Double, ByVal rightLeg As Double) m_longBase = Math.Abs(longbase) m_shortBase = Math.Abs(shortbase) m_leftLeg = Math.Abs(leftLeg) m_rightLeg = Math.Abs(rightLeg) End Sub Private Function GetRightSmallBase() As Double GetRightSmallBase = (Math.Pow(m_rightLeg, 2) - Math.Pow(m_leftLeg, 2) + Math.Pow(m_longBase, 2) + Math.Pow(m_shortBase, 2) - 2 * m_shortBase * m_longBase) / (2 * (m_longBase - m_shortBase)) End Function Public Function GetHeight() As Double Dim x As Double = GetRightSmallBase() GetHeight = Math.Sqrt(Math.Pow(m_rightLeg, 2) - Math.Pow(x, 2)) End Function Public Function GetSquare() As Double GetSquare = GetHeight() * m_longBase / 2 End Function Public Function GetLeftBaseRadianAngle() As Double Dim sinX As Double = GetHeight() / m_leftLeg GetLeftBaseRadianAngle = Math.Round(Math.Asin(sinX), 2) End Function Public Function GetRightBaseRadianAngle() As Double Dim x As Double = GetRightSmallBase() Dim cosX As Double = (Math.Pow(m_rightLeg, 2) + Math.Pow(x, 2) - Math.Pow(GetHeight(), 2)) / (2 * x * m_rightLeg) GetRightBaseRadianAngle = Math.Round(Math.Acos(cosX), 2) End Function Public Function GetLeftBaseDegreeAngle() As Double Dim x As Double = GetLeftBaseRadianAngle() * 180 / Math.PI GetLeftBaseDegreeAngle = Math.Round(x, 2) End Function Public Function GetRightBaseDegreeAngle() As Double Dim x As Double = GetRightBaseRadianAngle() * 180 / Math.PI GetRightBaseDegreeAngle = Math.Round(x, 2) End Function Public Shared Sub Main() Dim trpz As MathTrapezoidSample = New MathTrapezoidSample(20, 10, 8, 6) Console.WriteLine("The trpezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0") Dim h As Double = trpz.GetHeight() Console.WriteLine("Trapezoid height is: " + h.ToString()) Dim dxR As Double = trpz.GetLeftBaseRadianAngle() Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians") Dim dyR As Double = trpz.GetRightBaseRadianAngle() Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians") Dim dxD As Double = trpz.GetLeftBaseDegreeAngle() Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees") Dim dyD As Double = trpz.GetRightBaseDegreeAngle() Console.WriteLine("Trapezoid left base angle is: " + dyD.ToString() + " Degrees") End Sub End Class
/// <summary> /// The following class represents simple functionallity of the Trapezoid /// </summary> class MathTrapezoidSample { private double m_longBase; private double m_shortBase; private double m_leftLeg; private double m_rightLeg; public MathTrapezoidSample(double longbase, double shortbase, double leftLeg, double rightLeg) { m_longBase = Math.Abs(longbase); m_shortBase = Math.Abs(shortbase); m_leftLeg = Math.Abs(leftLeg); m_rightLeg = Math.Abs(rightLeg); } private double GetRightSmallBase() { return (Math.Pow(m_rightLeg,2.0) - Math.Pow(m_leftLeg,2.0) + Math.Pow(m_longBase,2.0) + Math.Pow(m_shortBase,2.0) - 2* m_shortBase * m_longBase)/ (2*(m_longBase - m_shortBase)); } public double GetHeight() { double x = GetRightSmallBase(); return Math.Sqrt(Math.Pow(m_rightLeg,2.0) - Math.Pow(x ,2.0)); } public double GetSquare() { return GetHeight() * m_longBase / 2.0; } public double GetLeftBaseRadianAngle() { double sinX = GetHeight()/m_leftLeg; return Math.Round(Math.Asin(sinX),2); } public double GetRightBaseRadianAngle() { double x = GetRightSmallBase(); double cosX = (Math.Pow(m_rightLeg,2.0) + Math.Pow(x,2.0) - Math.Pow(GetHeight() ,2.0))/(2*x*m_rightLeg); return Math.Round(Math.Acos(cosX),2); } public double GetLeftBaseDegreeAngle() { double x = GetLeftBaseRadianAngle() * 180/ Math.PI; return Math.Round(x,2); } public double GetRightBaseDegreeAngle() { double x = GetRightBaseRadianAngle() * 180/ Math.PI; return Math.Round(x,2); } static void Main(string[] args) { MathTrapezoidSample trpz = new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0); Console.WriteLine("The trpezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0"); double h = trpz.GetHeight(); Console.WriteLine("Trapezoid height is: " + h.ToString()); double dxR = trpz.GetLeftBaseRadianAngle(); Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians"); double dyR = trpz.GetRightBaseRadianAngle(); Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians"); double dxD = trpz.GetLeftBaseDegreeAngle(); Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees"); double dyD = trpz.GetRightBaseDegreeAngle(); Console.WriteLine("Trapezoid left base angle is: " + dyD.ToString() + " Degrees"); } }
/// <summary> /// The following class represents simple functionality of the Trapezoid /// </summary> public ref class MathTrapezoidSample { private: double m_longBase; double m_shortBase; double m_leftLeg; double m_rightLeg; public: MathTrapezoidSample( double longbase, double shortbase, double leftLeg, double rightLeg ) { m_longBase = Math::Abs( longbase ); m_shortBase = Math::Abs( shortbase ); m_leftLeg = Math::Abs( leftLeg ); m_rightLeg = Math::Abs( rightLeg ); } private: double GetRightSmallBase() { return (Math::Pow( m_rightLeg, 2.0 ) - Math::Pow( m_leftLeg, 2.0 ) + Math::Pow( m_longBase, 2.0 ) + Math::Pow( m_shortBase, 2.0 ) - 2 * m_shortBase * m_longBase) / (2 * (m_longBase - m_shortBase)); } public: double GetHeight() { double x = GetRightSmallBase(); return Math::Sqrt( Math::Pow( m_rightLeg, 2.0 ) - Math::Pow( x, 2.0 ) ); } double GetSquare() { return GetHeight() * m_longBase / 2.0; } double GetLeftBaseRadianAngle() { double sinX = GetHeight() / m_leftLeg; return Math::Round( Math::Asin( sinX ), 2 ); } double GetRightBaseRadianAngle() { double x = GetRightSmallBase(); double cosX = (Math::Pow( m_rightLeg, 2.0 ) + Math::Pow( x, 2.0 ) - Math::Pow( GetHeight(), 2.0 )) / (2 * x * m_rightLeg); return Math::Round( Math::Acos( cosX ), 2 ); } double GetLeftBaseDegreeAngle() { double x = GetLeftBaseRadianAngle() * 180 / Math::PI; return Math::Round( x, 2 ); } double GetRightBaseDegreeAngle() { double x = GetRightBaseRadianAngle() * 180 / Math::PI; return Math::Round( x, 2 ); } }; int main() { MathTrapezoidSample^ trpz = gcnew MathTrapezoidSample( 20.0,10.0,8.0,6.0 ); Console::WriteLine( "The trpezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0" ); double h = trpz->GetHeight(); Console::WriteLine( "Trapezoid height is: {0}", h.ToString() ); double dxR = trpz->GetLeftBaseRadianAngle(); Console::WriteLine( "Trapezoid left base angle is: {0} Radians", dxR.ToString() ); double dyR = trpz->GetRightBaseRadianAngle(); Console::WriteLine( "Trapezoid right base angle is: {0} Radians", dyR.ToString() ); double dxD = trpz->GetLeftBaseDegreeAngle(); Console::WriteLine( "Trapezoid left base angle is: {0} Degrees", dxD.ToString() ); double dyD = trpz->GetRightBaseDegreeAngle(); Console::WriteLine( "Trapezoid left base angle is: {0} Degrees", dyD.ToString() ); }
/// <summary> /// The following class represents simple functionallity of the Trapezoid /// </summary> class MathTrapezoidSample { private double mLongBase; private double mShortBase; private double mLeftLeg; private double mRightLeg; public MathTrapezoidSample(double longBase, double shortBase, double leftLeg, double rightLeg) { mLongBase = System.Math.Abs(longBase); mShortBase = System.Math.Abs(shortBase); mLeftLeg = System.Math.Abs(leftLeg); mRightLeg = System.Math.Abs(rightLeg); } //MathTrapezoidSample private double GetRightSmallBase() { return (System.Math.Pow(mRightLeg, 2.0) - System.Math.Pow(mLeftLeg, 2.0) + System.Math.Pow(mLongBase, 2.0) + System.Math.Pow(mShortBase, 2.0) - 2 * mShortBase * mLongBase) / (2 * (mLongBase - mShortBase)); } //GetRightSmallBase public double GetHeight() { double x = GetRightSmallBase(); return System.Math.Sqrt(System.Math.Pow(mRightLeg, 2.0) - System.Math.Pow(x, 2.0)); } //GetHeight public double GetSquare() { return GetHeight() * mLongBase / 2.0; } //GetSquare public double GetLeftBaseRadianAngle() { double sinX = GetHeight() / mLeftLeg; return System.Math.Round(System.Math.Asin(sinX), 2); } //GetLeftBaseRadianAngle public double GetRightBaseRadianAngle() { double x = GetRightSmallBase(); double cosX = (System.Math.Pow(mRightLeg, 2.0) + System.Math.Pow(x, 2.0) - System.Math.Pow(GetHeight(), 2.0)) / (2 * x * mRightLeg); return System.Math.Round(System.Math.Acos(cosX), 2); } //GetRightBaseRadianAngle public double GetLeftBaseDegreeAngle() { double x = GetLeftBaseRadianAngle() * 180 / System.Math.PI; return System.Math.Round(x, 2); } //GetLeftBaseDegreeAngle public double GetRightBaseDegreeAngle() { double x = GetRightBaseRadianAngle() * 180 / System.Math.PI; return System.Math.Round(x, 2); } //GetRightBaseDegreeAngle public static void main(String[] args) { MathTrapezoidSample trpz = new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0); Console.WriteLine("The trpezoid's bases are 20.0 and 10.0," + " the trapezoid's legs are 8.0 and 6.0"); double h = trpz.GetHeight(); Console.WriteLine("Trapezoid height is: " + System.Convert.ToString(h)); double dxR = trpz.GetLeftBaseRadianAngle(); Console.WriteLine("Trapezoid left base angle is: " + System.Convert.ToString(dxR) + " Radians"); double dyR = trpz.GetRightBaseRadianAngle(); Console.WriteLine("Trapezoid right base angle is: " + System.Convert.ToString(dyR) + " Radians"); double dxD = trpz.GetLeftBaseDegreeAngle(); Console.WriteLine("Trapezoid left base angle is: " + System.Convert.ToString(dxD) + " Degrees"); double dyD = trpz.GetRightBaseDegreeAngle(); Console.WriteLine("Trapezoid left base angle is: " + System.Convert.ToString(dyD) + " Degrees"); } //main } //MathTrapezoidSample
System.Math
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Math フィールド
Math メソッド
パブリック メソッド
Math メンバ
三角関数や対数関数などの一般的な数値関数の定数と静的メソッドを提供します。
パブリック フィールド
パブリック メソッド
Math
数学
(MATH から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/06/17 01:50 UTC 版)
数学(すうがく)とは、数・量・図形などに関する学問であり[1]、理学の一種[2][注 1]。「算術・代数学・幾何学・解析学・微分法・積分法などの総称」とされる[4]。
注釈
出典
- ^ ニッポニカ「数学」
- ^ a b 『大学事典』「理学部」
- ^ a b “『精選版 日本国語大辞典』「自然科学」”. コトバンク. 2021年7月4日閲覧。
- ^ 『デジタル大辞泉』「数学」
- ^ natural science. Dictionary.com.
- ^ "Definition of mathematics". lexico.com. Oxford University Press. 21 June 2022. 2022年6月21日閲覧。
- ^ 東京數學會社雑誌 第51号 1882, pp. 3–8.
- ^ 諳厄利亜語林大成 巻之一 1814, p. 62.
- ^ 諳厄利亜語林大成 巻之七 1814, p. 50.
- ^ Mura, Roberta (Dec 1993). “Images of Mathematics Held by University Teachers of Mathematical Sciences”. Educational Studies in Mathematics 25 (4): 375–385.
- ^ Tobies, Renate and Helmut Neunzert (2012). Iris Runge: A Life at the Crossroads of Mathematics, Science, and Industry. Springer. pp. 9. ISBN 3-0348-0229-3. "It is first necessary to ask what is meant by mathematics in general. Illustrious scholars have debated this matter until they were blue in the face, and yet no consensus has been reached about whether mathematics is a natural science, a branch of the humanities, or an art form."
- ^ a b “mathematics, n. : Oxford English Dictionary”. 2015年6月17日閲覧。 “The science of space, number, quantity, and arrangement, whose methods involve logical reasoning and usually the use of symbolic notation, and which includes geometry, arithmetic, algebra, and analysis.”[リンク切れ]
- ^ Kneebone, G.T. (1963). Mathematical Logic and the Foundations of Mathematics: An Introductory Survey. Dover. pp. 4. ISBN 0-486-41712-3. "Mathematics ... is simply the study of abstract structures, or formal patterns of connectedness."
- ^ LaTorre, Donald R., John W. Kenelly, Iris B. Reed, Laurel R. Carpenter, and Cynthia R Harris (2011). Calculus Concepts: An Informal Approach to the Mathematics of Change. Cengage Learning. pp. 2. ISBN 1-4390-4957-2. "Calculus is the study of change—how things change, and how quickly they change."
- ^ Ramana (2007). Applied Mathematics. Tata McGraw–Hill Education. p. 2.10. ISBN 0-07-066753-5. "The mathematical study of change, motion, growth or decay is calculus."
- ^ Ziegler, Günter M. (2011). “What Is Mathematics?”. An Invitation to Mathematics: From Competitions to Research. Springer. pp. 7. ISBN 3-642-19532-6
- ^ “第1回「科学技術の第3の柱『計算科学』」(岩崎洋一 氏 / 筑波大学学長)”. Science Portal - 科学技術の最新情報サイト「サイエンスポータル」. 2022年2月16日閲覧。
- ^ 神取道宏「追悼 ジョン・ナッシュ : 数学者、そして数理科学者として」『経済セミナー』、日本評論社、[要ページ番号]頁、2015年。
- ^ 創業手帳編集部. “駐日ウクライナ大使 セルギー・コルスンスキー/伊藤羊一|IT大国ウクライナの強さと現状【前編】”. 起業・創業・資金調達の創業手帳. 2022年5月25日閲覧。
- ^ Chang, Yu-Ping; Krawitz, Janina; Schukajlow, Stanislaw; Yang, Kai-Lin (2020-04). “Comparing German and Taiwanese secondary school students’ knowledge in solving mathematical modelling tasks requiring their assumptions” (英語). ZDM 52 (1): 59–72. doi:10.1007/s11858-019-01090-4. ISSN 1863-9690 .
- MATHのページへのリンク