2017-05-03 1 views
0

構造体はsampleですが数値ベクトルです。 sampleの数字をsample/2に置き換えたいと思います。しかし、私は次のエラーを克服する方法を知りません:構造体内の複数の値を置換する

Scalar structure required for this assignment.

任意の提案は歓迎以上です。

例:私は何をしたいか

field1 = 'event'; 
value1 = {'A', 'B', 'C', 'D'}; 
field2 = 'sample'; 
value2 = 22; 

A = struct(field1, value1, field2, value2); 

A.sample = round([A.sample]/2,0); 
+0

最小限の作業例や「A.event.sample」の例を投稿できますか – JacobD

+0

'size(A.event)'は返しますか? – codeaviator

+1

[構造のフィールド値を変更する! ](http://stackoverflow.com/questions/39768606/modifying-field-values-of-structure-matlab) – codeaviator

答えて

0

あなたの構造体の要素にあなたの計算行列を配布しdeal機能を使用する必要があります。

sampleCell = num2cell(round([A.sample]/2,0)); % first convert result to cell, to comply with the `deal` syntax 
[A.sample] = deal(sampleCell{:}); 
関連する問題