質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

4140閲覧

C# Math.NET Numericsの名前空間について

tomotomtony

総合スコア14

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2017/03/17 06:40

目的:
Math.NET NumericsのCDFという関数を使いたいです。
(CDFの引数が自由度(double)と統計量(double)のものです。)

状況:
名前空間MathNet.Numerics.Statisticsの関数(平均、中央値など)は
使えるが。

名前空間MathNet.Numerics.Distributionsの関数(CDF)が使えない。

参考URL:
MathNet.Numericのインストール

Staticsの公式ページ

Distribututionの公式ページ

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MathNet.Numerics; using MathNet.Numerics.Statistics; using MathNet.Numerics.Distributions; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { var data = new double[] { 3, 4, 5, 6, 10 }; // Listとかでも大丈夫 // var data = new List<double>() { 3, 4, 5, 6, 10 }; // 拡張メソッドで簡単に使える Console.WriteLine("平均 :{0}", data.Mean()); Console.WriteLine("中央値 :{0}", data.Median()); Console.WriteLine("分散 :{0}", data.PopulationVariance()); Console.WriteLine("母分散 :{0}", data.Variance()); Console.WriteLine("標準偏差 :{0}", data.PopulationStandardDeviation()); Console.WriteLine("母標準偏差:{0}", data.StandardDeviation()); var t = CDF(2.0, 40.0); //現在のコンテキストに'CDF'という名前はありません。と出る。 Console.WriteLine(t); } } }

現在考えていること:
インスタンス.関数()と
関数(数値)とでは
使い方がちがうのだろうか?

求める答え:
CDF関数を使えるようにする方法。

大学の研究が進まずに困っています。
どなたか、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんにちは。

ドキュメントをさっと見てみましたが、CDFがStatic Functionsとなっているのでおそらくstaticメソッドなのでしょう。
であれば、クラス名を指定して呼び出してください。

csharp

1var t = ChiSquared.CDF(2.0, 40.0);

で動くと思われます。

(質問のドキュメントリンク先はChiSquaredになっていますが、ChiSquared以外のクラスにもCDFメソッドがあるみたいです、ChiSquaredのCDFで間違いないですよね?)

投稿2017/03/17 07:03

tamoto

総合スコア4105

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomotomtony

2017/03/17 09:39

ああ、static メソッドはクラスを指定するんでしたね。ありがとうございます。 ChiSquaredのCDFで間違いないですよね?=>間違いないです。 早い回答ありがとうございました。
guest

0

C# 6.0(Visual Studio 2015) 以上であれば、using ディレクティブで using static が使えますので、

using MathNet.Numerics.Distributions.ChiSquared;

を追記すれば、

var t = CDF(2.0, 40.0);

でも行けるはずです。
ただし、メソッドが被らない場合に限ります。

投稿2017/03/17 08:37

編集2017/03/17 08:38
hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomotomtony

2017/03/17 09:35

using static MathNet.Numerics.Distributions.ChiSquared; で解決できました。
tomotomtony

2017/03/17 09:37

using static は知りませんでした。無事可決です。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問