Assignment has more non-singleton rhs dimensions than non-singleton subscripts

I have the codes as follows:
function [H1,c,s,path,d,m]=topology1(topo)
if (strcmp(topo,'access'))
H=zeros(24,18,3);
H1=zeros(size(H,1),size(H,2),3);
H1(:,:,1)=H;
When I want to run the function "topology" I encounter to this error:
Assignment has more non-singleton rhs dimensions than non-singleton subscripts
Please help me about this issue.

 Akzeptierte Antwort

You are trying to store all of a 3 dimensional object, H, into a 2 dimensional space, H1(:,:,1)
Perhaps you wanted
H1(:,:1) = H(:,:,1);

2 Kommentare

Thanks a lot. It did work!
While "it did work". The code is exactly equivalent to:
H = zeros(24, 18, 3);
H1 = H;
which would be much clearer.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by