Scalar structure required for this assignment.

Sis =
1×82 struct array with fields:
Name
dailyprof
cc
gapp
ttrange
Ntradess
>> class(D_(:,2))
ans =
'cell'
>> Sis.On=D_(:,2);
Scalar structure required for this assignment.
hi ..how do I add it as a field?

2 Comments

What is the size of D_? Are you trying to add each cell element of D_(:,2) as a struct field in Sis?
Yes...i want to add cell array in structure a structure can contain different data types...double string..

Sign in to comment.

 Accepted Answer

Matt J
Matt J on 2 Jun 2023
Edited: Matt J on 2 Jun 2023
Your intention with the code is not clear, but here is one possibility,
[Sis.On]=deal(D_{:,2});

4 Comments

thanks you...now it's ok!
thanks you...now it's ok!
I'm glad, but please Accpet-click the answer to indicate that it solved your problem.
can you help me in the last questions? thanks
You seem to have deleted your follow-up questions, but it's preferable anyway to put those in a new thread.

Sign in to comment.

More Answers (2)

This?
[Sis.On] = D_{:,2};

1 Comment

no...it give me same error
It's correct to use function deal!

Sign in to comment.

Sis.On={D_(:,2)};

3 Comments

Since D_(:,2) belongs to class cell
no...it give me same error
It's correct to use function deal!
As you want cell array as struct field, it works well without error, See below example ...
D_ = {rand(12,2),rand(12,1)}
D_ = 1×2 cell array
{12×2 double} {12×1 double}
class(D_)
ans = 'cell'
% cell array as struct field
Sis.On = {D_(:,2)}
Sis = struct with fields:
On: {{1×1 cell}}
Sis.On{:}{:}
ans = 12×1
0.2029 0.1979 0.5255 0.7647 0.0654 0.0657 0.7028 0.2226 0.2164 0.5529

Sign in to comment.

Categories

Asked:

on 2 Jun 2023

Commented:

on 5 Jun 2023

Community Treasure Hunt

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

Start Hunting!