# Should Behavior of sub2ind() be Different for Symbolic and Numeric Inputs?

1 view (last 30 days)
Paul on 22 Jun 2021
Commented: Paul on 25 May 2022
maxrows = 1; r = 1; a = 1; c = 1; ii = false;
D = zeros(3,3,maxrows) % D is a double
D = 3×3
0 0 0 0 0 0 0 0 0
D(sub2ind([3,3,maxrows],a(ii),a(ii),r(ii))) = c(ii)
D = 3×3
0 0 0 0 0 0 0 0 0
D = zeros(3,3,maxrows,'sym') % now D is a sym
D =
D(sub2ind([3,3,maxrows],a(ii),a(ii),r(ii))) = c(ii)
D =
Why does sub2ind() change the dimension of D in the latter case?
##### 1 CommentShowHide None
Paul on 25 May 2022
Fixed in 2022a
maxrows = 1; r = 1; a = 1; c = 1; ii = false;
D = zeros(3,3,maxrows) % D is a double
D = 3×3
0 0 0 0 0 0 0 0 0
D(sub2ind([3,3,maxrows],a(ii),a(ii),r(ii))) = c(ii)
D = 3×3
0 0 0 0 0 0 0 0 0
D = zeros(3,3,maxrows,'sym') % now D is a sym
D =
D(sub2ind([3,3,maxrows],a(ii),a(ii),r(ii))) = c(ii)
D =

Divija Aleti on 6 Jul 2021
Hi Paul,
The development team is working on resolving this issue. A task has been created for our development team about the bug report.
Thank you for your understanding and you will definitely be notified once the this issue is resolved.
Regards,
Divija

R2021a

### Community Treasure Hunt

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

Start Hunting!