Borrar filtros
Borrar filtros

Subscripted assignment dimension mismatch in for loop

1 visualización (últimos 30 días)
Arbol
Arbol el 11 de Jun. de 2017
Comentada: Star Strider el 11 de Jun. de 2017
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 comentario
Arbol
Arbol el 11 de Jun. de 2017
Or the following: In an assignment A(:) = B, the number of elements in A and B must be the same.

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 11 de Jun. de 2017
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 comentarios
Arbol
Arbol el 11 de Jun. de 2017
Editada: Arbol el 11 de Jun. de 2017
Oh sorry, yes, you are right! It will return 4 parameters. You are the best man! haha

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by