**Info**

This question is closed. Reopen it to edit or answer.

# Where is the problem

1 view (last 30 days)

Show older comments

Hi, I got this error:

In an assignment A(:) = B, the number of elements in A and B must be the same.

UserData.info(4,2)=num2cell(sym(strcat('u',sym(UserData.matrix{4,2}))));

UserData.info and UserData.matrix are cell type.

I don't understand, where is problem?

##### 1 Comment

Walter Roberson
on 5 Jun 2012

### Answers (1)

per isakson
on 5 Jun 2012

Try

UserData.info{ 4, 2 } =num2cell(sym(strcat('u',sym(UserData.matrix{4,2}))));

--- next ---

It is easier to debug and understand with one step per line:

temp1 = UserData.matrix{4,2};

temp2 = sym(temp1);

temp3 = strcat( 'u', temp2 );

temp4 = sym( temp3 );

temp5 = num2cell( temp4 );

UserData.info{ 4, 2 } = temp5;

whos temp*

.

--- next 2 ---

Is strcat supposed to concatenate a character, 'u' and something of class sym? What is this strcat-line supposed to do?

.

--- next 3 ---

Run this function and note that strcat fails when temp2 == 10. '10' is displayed on screen before the error message.

function cssm

temp1 = UserData.matrix{4,2};

for temp1 = 3 : 23

temp2 = sym(temp1);

try

temp3 = strcat( 'u', temp2 );

catch me

disp( temp2 )

rethrow( me )

end

temp4 = sym( temp3 );

temp5 = num2cell( temp4 );

UserData.info{ 4, 2 } = temp5;

end

whos temp*

end

>> cssm

10

In an assignment A(:) = B, the number of elements in A and B

must be the same.

Error in strcat (line 95)

s(pos:pos+len-1) = str;

Error in cssm (line 7)

temp3 = strcat( 'u', temp2 );

>>

The reason is that length( temp2 ) always returns 1. Thus, it works for one digit numbers, but not for 10 or 23.

My conclusions are:

- the function, strcat, is made for strings only
- all the numerical stuff in Matlab isn't tested with sym class input. At Mathworks they didn't anticipate that someone would through sym at strcat :-).

##### 11 Comments

Walter Roberson
on 5 Jun 2012

### See Also

### Community Treasure Hunt

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

Start Hunting!