Clear Filters
Clear Filters

How to create a struct?

1 view (last 30 days)
Josy M
Josy M on 17 Jul 2020
Commented: Walter Roberson on 18 Jul 2020
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
Josy M
Josy M on 17 Jul 2020
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 :/
Walter Roberson
Walter Roberson on 18 Jul 2020
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
Josy M
Josy M on 17 Jul 2020
this programm Code does not work so far

Sign in to comment.

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!