ERROR for Matrix dimensions must agree.

Hello all,
here is my function
function [error] =stress5_function(Ke,n,Sult,u,t,S0,k,m)
pa=0.1013 ;
S3=5 ;
Ei=Ke.*pa.*(S3./pa).^n;
Rf=(S0+k.*exp(-(S3./m)))./(Sult+u.*exp(-(S3./t)));
% z=(σ1-σ3)
z=0:0.0001:5;
Et=Ei.*(1-(Rf.*z)./(S0+k.*exp(-(S3./m))));
Et(Et<0)=0;
x=(z./Et).*100;
A=xlsread('5MPa','A1:A32');
B=A';
C=xlsread('5MPa','B1:B32');
D=C';
startingIndex = find(x==0);
endingIndex = find(x>=16);
desiredX = x(startingIndex:endingIndex);
desiredZ = z(startingIndex:endingIndex);
A1 = trapz(desiredX,desiredZ);
A2= trapz(B,D);
err= ((A1-A2)./A1)*100;
display(err,'error %');
end
when I type stress5_function([1115 1116],[0.3 0.4], [2.7 2.8], [22 23],[1.11 1.8],[2.677 4.462],[30.9 50],[0.97 1.5]) the error occur.
I can do the function with a set of parameter but can't do it with two
Matrix dimensions must agree.
Error in stress5_function (line 9)
Et=Ei.*(1-(Rf.*z)./(S0+k.*exp(-(S3./m))));
Can anyone please help !!! Thanks a lot!!!!

 Respuesta aceptada

Robert
Robert el 23 de Feb. de 2016

0 votos

Your variable z is not the same size as Rf, which matches the size of your inputs. The element-wise multiplication is happy to expand your scalars when you multiply by z but cannot do the same when you input vectors.

1 comentario

Coleman
Coleman el 23 de Feb. de 2016
so can you give me some suggestions to fix the problem??

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 23 de Feb. de 2016

Comentada:

el 23 de Feb. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by