Hey guys,
I'm stuck with one simple issue. I am practicing on 'struct' now. As practice, I created a stuct 'account' with fields 'owner', 'balance', and 'number' which is 1x3 array.
Then I was trying to creat the second account 'account(2)', however I accidentally typed 'account(2).name' which made a 1x4 array.
Tried rmfield, but failed:"Subscripted assignment between dissimilar structures."
Can someone help? Thanks
account(2) = rmfield(account(2),field)

댓글 수: 1

nanren888
nanren888 2019년 1월 7일
편집: nanren888 2019년 1월 7일
A struct array has the same fields for all elements.
You cannot remove a field from only account(2)
try typing
account

댓글을 달려면 로그인하십시오.

 채택된 답변

nanren888
nanren888 2019년 1월 7일

0 개 추천

account = struct('owner','Harry','balance',0,'number',42)
account =
struct with fields:
owner: 'Harry'
balance: 0
number: 42
>> account(2) = struct('name','Harry','balance',0,'number',42)
Subscripted assignment between dissimilar structures.
>>Not sure how you created it
>> account(2).name = 'Harry'
account =
1×2 struct array with fields:
owner
balance
number
name
>> account
account =
1×2 struct array with fields:
owner
balance
number
name
>> account = rmfield(account,'name')
account =
1×2 struct array with fields:
owner
balance
number
or maybe
account(2).owner = account(2).name; # first

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Structures에 대해 자세히 알아보기

제품

릴리스

R2018b

태그

질문:

2019년 1월 7일

댓글:

2019년 1월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by