필터 지우기
필터 지우기

Subscripted assignment dimension mismatch in for loop

조회 수: 1 (최근 30일)
Arbol
Arbol 2017년 6월 11일
댓글: Star Strider 2017년 6월 11일
Does anyone know what's wrong with this? I have tdatas and tissdatas with size (225x4). Every time I run this, I get the following error: Subscripted assignment dimension mismatch. Where am I wrong in this code? I just don't understand it or find it.
for i=1:length(tdatas(1,:))
fun = @(p,tdatas) objfunction(p,tdatas,tu);
z(i)=lsqcurvefit(fun,param0,tdatas(:,i),...
tissdatas(:,i),[0 0 0 0],[1 1 1 1],options);
end
  댓글 수: 1
Arbol
Arbol 2017년 6월 11일
Or the following: In an assignment A(:) = B, the number of elements in A and B must be the same.

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

채택된 답변

Star Strider
Star Strider 2017년 6월 11일
You are estimating and returning 4 parameters, and assigning them to a 1 dimensional scalar. I do not know whether you are returning row or column vectors, so the easiest way is to use ‘z’ as a cell array:
z{i} = lsqcurvefit(fun,param0,tdatas(:,i),...
tissdatas(:,i),[0 0 0 0],[1 1 1 1],options);
Note the curly brackets ‘{}’ denoting cell array indexing.
  댓글 수: 4
Arbol
Arbol 2017년 6월 11일
편집: Arbol 2017년 6월 11일
Oh sorry, yes, you are right! It will return 4 parameters. You are the best man! haha
Star Strider
Star Strider 2017년 6월 11일
Thank you!

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by