Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.

2 visualizaciones (últimos 30 días)
Hello,
farfieldvelocity = [-100:.01:100] % velocity est.
lockingdepth = [-100:.01:100] % locking depth est.
for i = 1:length(lockingdepth);
for j = 1:length(farfieldvelocity);
v_e_est = (farfieldvelocity(j)./ pi).* atan(dist./lockingdepth(i));
e = v_est - v_e;
CF(j,i) = e'*e;
end
end
Here I always get the error "Unable to perform assignment because the indices on the left side are not compatible with the size of the right side." for the line CF(j,i) = e'*e

Respuestas (2)

James Tursa
James Tursa el 22 de Mzo. de 2019
What is size(dist) and size(v_e)? If these are row vectors, then maybe you need to do e*e' instead to get a scalar result.
  4 comentarios
James Tursa
James Tursa el 22 de Mzo. de 2019
Sorry I misread your variables. What is size(v_est)? And what is the variable v_e_est supposed to be used for? Is this what was meant:
e = v_e_est.' - v_e; % make e a column vector

Iniciar sesión para comentar.


Sevil Cansu Yildirim
Sevil Cansu Yildirim el 22 de Mzo. de 2019
for i = 1:length(lockingdepth);
for j = 1:length(farfieldvelocity);
v_e_est = (farfieldvelocity(j)./ pi).* atan(dist./lockingdepth(i));
e = v_e_est - v_e;
CF(j,i) = e.*e';
end
end
I am sorry.
Here, e is the error whic is the difference between v_e_est (v_e estimated) and (v_e observed).
cf is the cross function, which minimize the error. (e'*e is for that, leat squares method)

Categorías

Más información sobre Fluid Mechanics 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