a run function gives an error due to size

조회 수: 2 (최근 30일)
Berfin Çetinkaya
Berfin Çetinkaya 2022년 4월 2일
댓글: Jan 2022년 4월 3일
Hi
for bi= 1: 10;
bj= 1 : 10;
resultt(bi,bj) = birfazson(1,birfazson(2,:) == 1).'
end
I have such code in my file. When I run this it gives an error like this:
Unable to perform assignment because the size of the left side is 1-by-10 and the size of the right side is 5-by-1.
Error in pirellinew_02042022 (line 101)
resultt(bi,bj) = birfazson(1,birfazson(2,:) == 1).'
My right side values may change every time I run it. So what can I do in this situation?
  댓글 수: 1
Jan
Jan 2022년 4월 2일
It depends on what you want to achieve. You didn't mention this yet.

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

답변 (1개)

Jan
Jan 2022년 4월 2일
Maybe:
resultt = nan(10, 10);
for bi = 1:10
r = birfazson(1, birfazson(2,:) == 1);
if ~isempty(r)
resultt(bi, 1:numel(r)) = r;
end
end
The body of the loop doe not depend on the loop counter bi. I assume, this is a simplification for the question in the forum.
  댓글 수: 2
Berfin Çetinkaya
Berfin Çetinkaya 2022년 4월 2일
I wanted to find the sequences with 1 in the matrix named birfazson (in the first row) and print them one after the other in the first column of another matrix (resultt matrix).
Then I want to repeat this for values 2,3,4,5,6,7,8,9,10.
So as the second operation
I wanted to find the sequences with 2 in the matrix named birfazson (in the first row) and print them one after the other in the second column of another matrix(resultt matrix). And I intended to repeat that up to 10.
Jan
Jan 2022년 4월 3일
What does this mean: "wanted to find the sequences with 1 in the matrix"?
Please give us some example data for the input and the wanted output.

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

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by