How to create a struct?

Hello,
How can i split my "scenarioServiceCopy" 1*54 struct in two parts? For example:
  • 1-30 fields -> part 1
  • 31-54 fields in part 2
In this way i store the data in my struct:
parameter.scenarioServiceCopy(count).(namess{7})=char(array_(1,7))
I do this with a for loop. It works but everything is in one "matrix/table/struct".
I want to have something like this:
  • part 1 first 30 fields: parameter.scenarioServiceCopy(1)
  • part 2 the last 24 fields: parameter.scenarioServiceCopy(2)
But does something like this works
Thanks

3 Comments

Sometimes the easiest way to program it is to struct2cell(), extract a subset and cell2struct() that back.
difficult for me :D
is it possible to make a 2*85 struct with 16 fields? I read the manual but its really hard to understand for a hobby programmer :/
How should 54 input fields map on to 2*85 with 16 fields?
v = fieldnames(scenarioServiceCopy);
tc = struct2cell(scenarioServiceCopy);
p1 = cell2struct(tc(1:30,:,:),v(1:30));
p2 = cell2struct(tc(31:end,:,:), v(31:end));
parameter.scenarioServiceCopy1 = p1;
parameter.scenarioServiceCopy2 = p2;

Sign in to comment.

Answers (1)

Bhupendra Prajapati
Bhupendra Prajapati on 17 Jul 2020
Edited: madhan ravi on 17 Jul 2020
parameter = struct(scenarioServiceCopy(1),scenarioServiceCopy(2));
Just follow the exmaples given at the link below ->

1 Comment

this programm Code does not work so far

Sign in to comment.

Categories

Tags

Asked:

on 17 Jul 2020

Commented:

on 18 Jul 2020

Community Treasure Hunt

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

Start Hunting!