問題タブ [matlab-table]

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 投票する
6 に答える
75959 参照

matlab - 行と列のラベルを付けてマトリックスを表示する

Matlab ターミナルで行と列のラベルを持つ行列を表示する便利な方法はありますか? このようなもの:

降伏:

さらに良いのは、いくつかのASCIIアートの機能を備えたものです。

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

matlab - MATLAB: ismember と isequal

ABが同じ列 (および同じ順序) を持つテーブル (またはデータセット) である場合、次のような式は、次のようにismember(A(:, somecols), B(:, somecols))インデックス付けに適したブール配列を生成Aします。

上記の行は、 で指定された列の の行と一致する の行で構成されるtable(またはdataset、 のクラスに応じて) に評価されます。AABsomecols

しかしここで、Bちょうど 1 つの行があるとします。より現実的には、から行を選択するための基準は、単純に のこの 1 つの行、たとえば最初の行にA一致することであるとします。B

これを行うことができます:

これに関して私が持っている主な疑問は、それが「意味的に明確」ではないということですismember。実際には、 が等価性をテストするために使用されているからです。

書くことができれば、意味的により明確になります

しかし、これでは望ましい結果が得られません。A(:, ...)(具体的には、一致する行が含まれている場合でも一致を返しませんB(1, ...)。)

私の質問は、「この行はこの参照行とA一致しますか」という質問に対応する論理ベクトルを正しく生成する述語は何ですか?somecols

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

matlab - テーブル (またはデータセット) の行のグループに集計関数を適用する方法は?

変数の中に何らかの要因( n 個の異なる値、または「レベル」を持つ) を含むtable(またはdataset) オブジェクトがあるとします。また、一連の行を入力として取り、出力として単一の集計値 (別名「集計」) を返すカスタム集計関数があるとします。AXagg

統計的データ分析で非常に一般的な操作の例はA、因子の値に従っての行をグループ化し、グループ内の行で構成される配列Xに適用することです。aggこのような操作の結果は、 n行と 2 つの変数を持つ新しいtable(またはdataset、のクラスに応じてA) になります。これらの変数の最初の 1 つには という名前を付け、 の係数のn 個の個別の値を含める必要があります。2 番目の変数には、適切な (できればユーザー指定の) 名前を付けて、行グループに適用した結果を含める必要があります。対応するレベル。XXAaggX

私が言ったように、これは MATLABtabledatasetオブジェクトなどのデータ構造に対して実行する非常に標準的な操作であるため、それを行う組み込みの方法があると期待していましたが、見つかりません。


たとえば、次のAように定義します。

また、みましょXTrafficLightagg

(もちろん、aggここでは例をできるだけ単純にするためにこれを使用しています。実際aggには、それほど単純ではありません。)

私が考えている典型的なgroup_aggregate関数は通常、入力引数として (何らかの順序で) 集計関数、計算された集計の出力の列の名前table(またはdataset)、およびグループ化する 1 つ以上の変数の名前を取ります。に。したがって、この例では、そのような関数の呼び出しとその出力は次のようになります。

ところで、上記の結果を得るために、私はこの絶望的な小さな獣を呼び起こしました。

たとえば、X変数のさまざまなクラスの値などに対して、組み込みのソリューションがより堅牢であることを願っています。

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

matlab - Matlabでテーブルを事前に割り当てる最良の方法は何ですか?

通常、 を使用cell()するzeros()ones()、データの種類に応じて事前に割り当てますが、さまざまなデータ構造を保持できるテーブルを事前に割り当てる最良の方法は何ですか?

table()Matlab 2013b で追加された機能について話しています。

明らかに、次のようなコードを使用してメモリを予約できます。

しかし、テーブルがさまざまなデータ型を保持することになっていると、問題が発生します。ここで整数の列に入力したいと想像してみてください。または、私の場合のように、各行に文字列、整数、および浮動小数点数を含む観測値を入力します。T

0 投票する
3 に答える
9585 参照

matlab - 古いバージョンの Matlab でテーブルを使用するには?

MATLAB 2010 以下のバージョンに、結果 (例: 一部の行列) を表形式で出力する関数はありますか? グーグルから得たのはtable()、MATLAB 2013 以降のバージョンでのみ機能する関数だけでした。マシンに MATLAB 2010 がインストールされていますが、新しいバージョンをダウンロードするのは現実的ではありません。サイズが非常に大きく、急いでいるためです。ありがとうございました。

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

matlab - varfun を使用したグループ化による最大値のインデックス

Id と Dates を持つテーブルがあります。各 Id の最大日付のインデックスを取得したいと思います。

私の最初のアプローチはそうです: varfun(@max, table, 'Grouping Variables', 'Id', 'InputVariables','Date');

これは明らかに、インデックスではなく日付を示しています。max 関数は、指定すると maxvalue と maxindex の両方を返すことに注意しました。 [max_val, max_idx] = max(values);

max を使用して max_idx を取得する無名関数を定義するにはどうすればよいですか? 次に、それを var_fun で使用して結果を取得します。

次のように max() に対して (anon func とは対照的に) cover 関数を宣言したくない: 1. スクリプトで作業しており、別の関数ファイルを作成したくない 2. 自分の関数への現在のスクリプト

100万人ありがとう

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

matlab - データ量に応じて Uitable MATLAB で行数をプログラムする

MATLAB Web サイトで提供されている例に従って、MATLAB GUI で uitable を作成しようとしていますが、作成できました。ただし、私の場合、テーブル内の行数はデータのサイズによって異なります。だから、どうすれば行に適切にラベルを付けることができるのだろうと思っていました。データには N ポイントがあるとします。行に 1 2 3 4,.....N を読み取らせたいとします。

コードを変更してそれを行う方法を知っている人はいますか?

これが私がこれまでに持っているものです:

ありがとう

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

matlab - Matlab テーブル作成の高速化

Matlab でかなり大きなテーブル (> 10,000 行) を作成すると、コンストラクターによって呼び出される単一の関数が原因で非常に遅くなる可能性があることに気付きましたcheckDuplicateNames。ただし、通常、テーブルに渡す名前は既に一意であると確信しています。

以下は、問題をよく示しています。10,000 個のランダム値の生成には 1 ミリ秒もかかりませんが、文字列の行名を含むランダム値のテーブルの生成には 1.4 秒かかり、重複する行名のチェックには 1.4 秒かかります。

checkDuplicateNames関数を呼び出さずに Matlab でテーブルを作成する別の方法はありますか?