How to solve : Subscripted assignment dimension mismatch error
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
bahar kh
am 26 Mai 2017
Kommentiert: Andrei Bobrov
am 26 Mai 2017
Dear guys I am new in MATLAB. It is a simple code which i make it. but i get this error message"Subscripted assignment dimension mismatch." I dont know whats the problem with that. would you please help me?
A=[]
A=randi(10,2,3)
for i=1:2
for j=1:3
if A(i,j)>3
A(i,j)='ok';
elseif A(i,j)==2
A(i,j)='no'
else
A(i,j)=' ';
end
end
end
1 Kommentar
Stephen23
am 26 Mai 2017
Bearbeitet: Stephen23
am 26 Mai 2017
A is a numeric array, which you then try to force non-scalar char vector into the elements of. It is not possible to put multiple array elements into one element of another array. If r and c are scalars, then:
X(r,c) = 1; % okay
X(r,c) = [1,2] % an error
Akzeptierte Antwort
bahar kh
am 26 Mai 2017
1 Kommentar
Andrei Bobrov
am 26 Mai 2017
>> A=randi(10,2,3)
A =
9 2 7
10 10 1
>> A(1,1) = 2
A =
2 2 7
10 10 1
>> A(2,1) = 'no'
Assignment has more non-singleton rhs dimensions than non-singleton subscripts
>> double('no')
ans =
110 111
>>
Weitere Antworten (1)
Andrei Bobrov
am 26 Mai 2017
Use cell - array ( Aout) for output data in your function
A=randi(10,2,3);
Aout = cell(size(A);
for i=1:2
for j=1:3
if A(i,j)>3
Aout{i,j}='ok';
elseif A(i,j)==2
Aout{i,j}='no'
else
Aout{i,j}=' ';
end
end
end
1 Kommentar
Siehe auch
Kategorien
Mehr zu Graphics Performance finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!