問題タブ [pdl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
94 参照

perl - Perl PDL が期待どおりに動作しない

PDL の入力関数がよくわかりません。個人的には、Web のさまざまな場所で推奨されているように、rcols 機能を使用して pdls を作成しています。

次のような入力ファイルがあります。

これを Piddle に割り当てたいと思います。みたいにピドルに当てはめると、

@pdls を印刷すると、次のように印刷されます。

これにより、行ではなく列ごとにファイルがプルされたと思いました。これは、コードを見ると理にかなっています。この出力をファイルに保存すると (すべての括弧を取り除いた後)、これがどのように見えるかです。:

新しい入力ファイルで同じスクリプトを実行すると、結果は以前と同じプロセスに従いません。

そして、なぜそうしているのか、私にはわかりません。要するに、テキスト ファイルを piddle に読み込めるようにしたいのです。私が欠けているものを見たり、説明を提供したりできる人はいますか?

助けてくれてありがとう。

0 投票する
1 に答える
49 参照

pdl - PDL マトリックスの混乱

シンプルだが大きなデータファイルがあります。これは、ニューラル ネットワーク シミュレーションからの出力です。最初の列は時間ステップ、1..200 です。2 番目はターゲット ワードです (現在のシミュレーションでは 1..212)。次に、単語ごとに 1 つずつ、合計 212 の列があります。つまり、各行には、特定のターゲット (入力) 単語が与えられた特定の時間ステップでの各単語ノードの活性化値があります。

各活性化を応答強度 (exp(定数 x 活性化)) に変換し、各応答強度を応答強度の行の合計で割るなど、簡単な操作を行う必要があります。R でこれを行うのは非常に遅く (20 分)、perl で従来のループ処理を行うと高速ですが、後のシミュレーションで数千ワードが必要になるため、それでも時間がかかります (7 分)。

PDL はこれをはるかに迅速に実行できるように思われます。PDL のドキュメントを読んでいますが、2 番目の手順を実行する方法がわかりません。最初のものは、アクティベーション列だけを選択して $act に入れるのと同じくらい簡単に思えます。

$rp = exp($act * $k);

しかし、各値を行の合計で割る方法がわかりません。アドバイスをいただければ幸いです。

ありがとう!

0 投票する
0 に答える
172 参照

perl - replotを使ったPDL GnuplotとQT端末のポイント制限

PDL::Graphics::Gnuplot を使用してデータをプロットしているときに、奇妙な現象に遭遇しました。を使用して一度にプロットされるポイントの数は限られているようですreplot

次の例を考えてみましょう (101 ポイントの 15 ライン):

この例を使用すると、15 行ではなく 11 行だけがプロットされます。101ポイント使用

点の数を (101 から 51 に) 減らすと、14 本の線がプロットされます。 51ポイント使用

そして最終的に21点だけを使って、15本の線をすべて表示。

21ポイント使用

最初は限られた数の線しかプロットされていないと思っていましたが、プロットされる線の数はピドルの大きさに依存するため、そうではありません。

これは perl モジュールまたは Gnuplot の制限ですか? 最大ポイント数を増やす方法はありますか?Gnuplots qt 版の問題のようです。端末として使用'x11'しても、この制限は見られません (101 ポイントで 100 回線をテストしましたが、問題はありませんでした)。

さらに、同じ例を使用せずにテストしますreplotが、単一のplot.

このコードを使用すると、すべて正常に動作します (行数を非常に大きな値に増やしても)。

1プロットで101点

最後に、端末のreplot機能の問題のようです。'qt'

(GNUPLOT バージョン 4.6 パッチレベル 6)

0 投票する
2 に答える
151 参照

perl - Perl 変数が PDL 形式 (つまり、ピドル) であるかどうかを確認するにはどうすればよいですか?

私はPDLを使用しています。$fooハッシュ参照、配列参照、スカラー、またはピドル (空または null の可能性がある) の可能性がある変数が与えられた場合、それがピドルかどうかをどのように判断できますか?

0 投票する
1 に答える
112 参照

pdl - Perl PDL -> GnuPlot -> AutoScale => 95% ホワイトスペース?

プロットする 3 つの XY データセット:

募集: 3 つすべての XY データセットを、それが唯一のデータセットであるかのように自動スケーリングしてプロットします。予想: 「小さい」、上下の空白
Y=0 付近の ~0 範囲ではなく、Y 範囲全体にわたるエラー データ

結果: Y 範囲 [-10 .. 10]
エラー ラインは、コンテンツが ~0 のグラフの中央にある平らな線です。20 単位の Y 範囲全体で [0 .. 1] だけにデータがあるため、95% は空白スペースです。

理想的な「自動」スケーリング: データの大部分をより適切に表示するために、いくつかの「外れている」データ ポイントがグラフから押し出される「標準偏差」スケーリングをサポートします。

適切な例: エラー XY データ。極端な場合、Y エラー値は平均に比べて巨大で、約 14 シグマです。自動スケーリングは、データの 98% をゼロのピクセル内に押しつぶします。

標準偏差を計算し、手動で yrange=>[$ylo, $yhi] を平均 +- 1 シグマのような値に設定すると、有益に見えます。

最大/最小または桁数の AUTOSCALE 以外に REASONABLE-SCALE を取得する方法はありますか?

5% のデータを使用した自動スケーリング

0 投票する
1 に答える
74 参照

perl - PDL画像をGdkPixbufに変換する方法

Gtk3 アプリ内で (PLplot を使用して) PDL によって生成されたグラフを表示しようとしています。次のコードを試すと、2 つの問題が発生します。

  1. $pdlImg は GdkPixbuf ではないため、new_from_pixbuf() は機能しません。
  2. $pdlImg は、エラー メッセージが 10x10x3 配列を文字列として出力し、それらがすべてゼロであるため、空のように見えます。

コード:

0 投票する
1 に答える
140 参照

perl - PDL::GSL::CDF (Perl) からの gsl_cdf_tdist_P について

p値が1E-16より小さい場合、gsl_cdf_tdist_P関数から完全なp値を取得する方法を教えてください。代わりに0を取得しています。

ありがとう、ウッディ

私の入力値は次のとおりです。

0 投票する
1 に答える
1043 参照

windows - Perl と PDL のインストール

現在、データ分析とグラフィックス生成の一部を自動化したいため、perl PDL のインストールに失敗しています。

残念ながら、データ ファイルを処理するための小さなスクリプトを作成するどころか、必要なモジュールを問題なくインストールすることさえできないようです。

私はPerlでいくつかの初歩的な経験がありますが、空想は何もなく、Windows 10 x64を使用しています。

最初に、x64 ストロベリー perl v5.24 をインストールし、続いて Astro::FITS::Header、Convert::UU、OpenGL、および PDL を ppm でインストールしました。 =インストール。ただし、Inline::C のインストールに問題があり、PDL_Book_Latest http://sourceforge.net/projects/pdl/files/PDL/2.4.10/PDL-Book-20120205の 5 ページにリストされている例を試した後.pdf/download画像が表示されず、検索できる場所に画像ファイルもありませんでした。Google に戻っても、この問題の原因に関する情報が見つからないため、最初からやり直して、より詳細に文書化されることを期待して古いバージョンを使用することにしました。

そのため、Windows にインストールされたプログラムのダイアログからいちご perl をアンインストールし、いちごフォルダーと「いちご」を含むレジストリ エントリを削除します。次に、Padre IDE v5.14 を使用した perl の新規インストール - デバッグ機能がエラーの特定に役立つ可能性があります。同じモジュール (Astro::FITS::Header、Convert::UU、OpenGL、PGPLOT) のインストールを開始しました。Astro と Convert は正常に動作しましたが、OpenGL は ExtUtils::F77 に関するエラーをスローし始めました。これは、さらに数時間検索した後に明らかに欠落しています。このモジュールをインストールしようとすると、「gfortan」が不明なコマンドであるというエラーが表示され続けます... PDL の考え方は fortran と C を避けることであると理解していましたが、このインストールの問題に関する情報はほとんど見つかりませんでしたこれまでのところ。

そこで、別のアプローチを試すことにしました。ppm モジュールを cpan からインストールし、ppm コマンドを使用して最初のインストール プロセスを繰り返しました。今回私は得る:

「不明な要素 'PROVIDE' が SOFTPKG 内で見つかりました。C:/Dwimperl/perl/site/lib/PPM.pm 行 1462 にあります。」

だから私の質問は次のとおりです。

インストール プロセスの重要なステップが抜けていませんか? 私のシステムはこれを本当にひどく処理していますか?もしそうなら、何らかの回避策はありますか? 2 つの異なるバージョンを試したことが、この問題の根底にある可能性のあるパスの問題を引き起こす可能性がありますか?

Windows 10に特定のperlインストールでPDLをインストールするための代替の、できればあまり複雑ではないルートを誰かが提供できますか?

編集1:

これは、PDL の明らかな前提条件である Inline::C をインストールしようとして得たエラーのコードです。

code deleted to make space for updates...

編集3:

PATHを変更するのではなく、PATHで指定されたディレクトリにGnuWin32を再インストールし、インストールを再試行しました。Inline::C は、同じ 'diff' および 'rm' エラーを出しました。そこで、「cpanm --notest 'package'」を実行して Inline::C をインストールし、次に PDL をインストールしましたが、どちらも成功したとのことでした。ただし、「--notest」を使用しても、cpanm は OpenGL と PGPLOT をインストールできませんでした。

最終的な目的は、PGPLOT の関数を使用してグラフィックスを生成できるようにすることです。たとえば、

もちろん、PGPLOT がインストールできない場合、これは機能しません。

編集4:

@Dr.Avalange が sourceforge https://sourceforge.net/p/pogl/bugs/26/で見つけた修正を試してみたところ、このファイルの複数のコピーがあるように見えることに気付きました。

ここ

これって普通…?

編集 5: そこで、perl をアンインストールし、%APPDATA%、%USERPROFILE%、および C:/DWIM に残っているファイルをすべて削除してから、何か見逃した場合に備えて ccleaner を実行しました。

次に、Windows 用の Strawberry perl 5.24.1 x64 をダウンロードしてインストールしました。

この後、 http ://pdl.perl.org/?page=install に従って、「cpanm Astro::FITS::Header」、cpanm「Convert-UU」、および「cpanm OpenGL」を実行しました。これはすべてうまくいきました。次に、Inline、Pegex、Win32::Mutex、および Module::Compile の依存関係をインストールする「cpanm PDL」を実行しました。ただし、前述の Inline::C で同じエラーが発生した場合。

以前に GetGnuWin32 をインストールしていたので、なぜこれが機能しないのかわかりません。Windows の「パス」環境 (PATH ではない - これは、高度なシステム ダイアログによると存在しません) は、次のように記述されています。

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps; このディレクトリには、GetGnuWin32 というフォルダがあり、提供したリンクからすべてのパッケージをインストールする必要があります。そこで、DiffUtils セットアップを再ダウンロードして実行し、\programfiles(x86) にインストールしました (デフォルト オプション)。次に、「cpanm PDL」を再実行しました。

同じ 'diff' エラー メッセージが表示されます。では、DiffUtils は適切にインストールされていませんか? (試行間およびインストール後にコマンドラインを閉じて再度開きました)

編集6:

--notetest を使用して PDL と PGPLOT をインストールした後、次のテストを実行しようとしましたが、失敗しました。下記参照

すでにディレクトリの問題がありましたが、私が考えていた正しい方向に向けることができました。また、PLplot 'cpanm' をインストールしようとすると、インストールは成功したが、.pm ファイルはなく、別のディレクトリに .pd しかないため、PDL::Graphics::PLplot の使用は、.pm ファイルが見つからないため失敗します。

EDIT:7ppm install http://www.sisyphusion.tk/ppm/PGPLOT.ppdあなたが提供した説明のリンクが使用されなくなったため、今回は再試行がうまくいったようです http://www.kalinabears.com.au/w32perl/pgplot-5.2.2-mingw32.tar.bz2 http: //jrfonseca.home.dyndns.org/projects/gnu-win32/software/ported/patches/pgplot-5.2.2-mingw32.diff.gz これは機能しているように見えましたが、リストされたファイルの痕跡はありませんこの特定の方法のためだけでない限り、インストールに必要に応じて?

最後に、例をもう一度試すと、次のようになります。エラーはありませんが、画像もありません...