Merge struct with matrix

3 vues (au cours des 30 derniers jours)
GSM
GSM le 21 Juil 2021
Commenté : GSM le 22 Juil 2021
Hello,
i have a stuct which holds 12 signals. The signals are represented by frequency, power and a vector for each of the signals as seen in the following picture:
I have another matrix of the signals which passed through some model as seen in the follwoing picture:
I would like to merge the struct with the matrix, so that the struct will hold another column/new field where each struct row corresponts to each matrix row. How can I do this w/o for loop?
Thanks!

Réponse acceptée

Matt J
Matt J le 21 Juil 2021
Modifié(e) : Matt J le 21 Juil 2021
You cannot avoid a for-loop altogether, but you can avoid writing your own for-loop as follows:
tmp=num2cell(modelOutputSignal,2); %num2cell has a for-loop inside it.
[yourStruct(1:numel(tmp)).newfield]=deal(tmp{:});
  2 commentaires
GSM
GSM le 22 Juil 2021
Perfect ! Thanks a lot!
GSM
GSM le 22 Juil 2021
Matt J ,
Another question.
When i have such struct:
How can I "cut" the 2 left columns "Inputrequency_MHz" and "InputPower_dBm" into some new struct?

Connectez-vous pour commenter.

Plus de réponses (1)

Dhruv G
Dhruv G le 21 Juil 2021
say the structure is named s,
s.outputSignal = modelOutputSignal;
adds the matrix as an element to the structure. You can then reference a matrix element as s.outputSignal(rowNumber, columnNumber)
  1 commentaire
GSM
GSM le 22 Juil 2021
I get the following error:
Scalar structure required for this assignment.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Structures dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by