問題タブ [cell-array]
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.
matlab - Matlab の構造体内のセル配列 - 可能ですか?
いくつかの変数を 1 つの構造体にまとめて、関数からの入出力がかなり頻繁に行われるようにしたいと考えました。問題は、変数の 1 つがセル配列 (具体的には文字列を含む) であることです。明らかに、与えられた変数の 1 つ
セル配列である場合、セル配列を構造体の内部変数にする代わりに、構造体を構造体のセル配列にします。これは私の望ましい結果ではなく、多くのコードを醜くする必要があります。
この問題の解決策/回避策はありますか?
matlab - MATLABのセル配列の一部であるセル配列をどのように連結しますか?
allData
Nx1のセル配列があります。各セルには、names
プロパティを持つ構造が含まれています(名前はカスタムオブジェクトですが、必要に応じて文字列のセル配列と考えてください)。すべての名前を含む単一のセル配列を作成したいと思います。たとえば、N = 3の場合、つまりallData
3x1セル配列の場合、次のようにして私の目標を達成できます。
このアプローチの問題は、Nが大きく、入力に応じて変化することです。そのため、を使用してこれを行うための賢い方法があることを期待してcellfun
いますが、私が試したすべてが失敗します(たとえば、うまくいきません)。allNames = [cellfun(@(x) {x.names}, allData)];
)。
更新:提案された解決策のおかげで、すべてを1つのセル配列にまとめることができます。各セルにはセル配列が含まれています。ここでの私の目標は、これらを連結することです。多かれ少なかれ、私が持っているのは:
そして、私が欲しいものと得られないように見えるものは
解決策:以下の各回答の一部が必要だったので、これが私のために働いた解決策です:
アンドリュー・ラザロから:
allNames = arrayfun(@(x) x.name, [allData{:}], 'UniformOutput', false);
次に、gnoviceから:
allNames = vertcat(allNames{:});
両方に感謝します!!
matlab - セル配列内の異なる長さのベクトルを MATLAB の行列に結合する方法
長さの異なるセル配列ベクトルを行列に効率的に結合し、ベクトルを最大長まで 0 または NaN で埋める方法は? にとっては良い選択肢でしょうcell2mat()
。
たとえば、私が持っている場合
どちらかを取得したい
また
matlab - cell 配列の列を削除する
テストのために単純な値を cell 配列に配置しました。
私はこのような結果が欲しかった:
温度 =
しかし、私はこれを得ています:
温度 =
どうすればこれを正しく行うことができますか?
ps: セル配列に取り組んでいる人には、ここに追加するための優れたテクニックがあります。
arrays - セル配列を並べ替える?
数値のセル配列がありますが、セル配列の大部分は空です。たとえば、次のようになります。
一致する配列yがあります
セル配列 x から数値のインデックスを取得し、それらを使用して y から対応する値を取得したいと考えています。したがって、x(2) は y(2) と一致します。を使用して x を配列に変換します
しかし、問題はそれが戻ってくることです
これでは正しいインデックスを取得できないため、X を並べ替えてから、それに応じて Y を並べ替えて、同じインデックスが一致するようにします。セル配列では機能しない並べ替えを使用しようとしました。
matlab - セル配列をCSVファイルに出力する(MATLAB)
を使用してamxnセル配列を作成しcell(m,n)
、各セルに任意の文字列を入力しました。
セル配列をCSVファイルとして出力するにはどうすればよいですか。配列内の各セルはCSV「スプレッドシート」内のセルです。
を使ってみましcell2CSV
たが、エラーが発生します...
のせいで:
どんなガイダンスも好評です:)
matlab - textscanの奇妙な動作
次の形式のテキストファイルを読みたい:
。したがって、各行は文字列であり、区切り文字は次のとおりです。\n.
このファイルがと呼ばれるとし'data.txt'
ます。私は思うだろう
で3x1セルを取得しC{1} = 'gatcg....' , C{2} = 'gtcgt....' and C{3} = 'cagctg....'
ます。
これはそうではありません。それは私に教えてくれC = {3x1 cell}
ます。ただし、次の動作が発生します。
ここで何が起こっているのですか?o_O
matlab - Matlabで関数配列をベクトル化する
私の一般的な問題は、次の例で示されています。
一度に1つのポイントでのみWを評価したい場合は、これで問題なく動作します。例えば:
しかし、どのようにしてWを任意の数のポイントで評価することができますか?
前もって感謝します。
.net - セル配列をMATLABから.NETメソッドに渡す方法
私はMATLABを初めて使用します。コマンドNET.addAssembly
を使用して、.NETアセンブリをロードし、アセンブリのクラスのオブジェクトをインスタンス化してから、クラスのメソッドを呼び出します。
double
、などのパラメータchar
をアセンブリクラスのメソッドに渡すことは正常に機能しています。
しかし、インスタンス化されたクラスのメソッドにセル配列を渡そうとすると、エラーパラメータの不一致が表示されます。
私は次の手順を実行しました:
.NETメソッド
ドキュメントによると、パラメータが。であるメソッドにセル配列を渡すことができますSystem.Object[]
。
セル配列を.NETメソッドに渡す方法を教えてください。
string - Matlabで文字列の\nを新しい行に置き換える
Matlab で、改行ごとに区切られた文字列のセル配列を 1 つの文字列にマージしようとしています。次のメソッドは文字列をマージしますが、最終的な文字列には改行の代わりに \n が含まれます。
戻り値:' 111\n 111\n 111\n333666444555\n333666444555\n333666444555\n 222\n 222\n 222\n'
str = sprintf(str);
メソッドの終了前に追加すると、無効な形式のエラーが返されます。ただし、Matlab コマンド ウィンドウに書き込むと、sprintf(' 111\n 111\n 111\n333666444555\n333666444555\n333666444555\n 222\n 222\n 222\n');
フォーマットされた文字列がエラーなしで返されます。
誰が問題になる可能性があるか知っていますか?コマンド ウィンドウでは機能するのに、.m ファイルでは機能しないのはなぜですか?