Evaluate values of a vector with values of variable p
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
ABG
el 23 de Oct. de 2022
Comentada: ABG
el 23 de Oct. de 2022
Hi guys!
I am having a bit of a problem with a code. In this case I have calculated values of exx and eyy, which depend on p. After having computed this two vectors, I want to obtain the values of vector uc which depends on the values of exx and eyy related with the particular value of p.
However, when I try to substitute all the exx and eyy values into uc, I do not obtain the correct substitution as I am only obtaining the same result, which also keeps depending on p (I do not know why if I am giving p values to the two previous vectors). I do not know if I have to do it with another FOR value, which allows me to store a certain value of p and pair it to the values of exx and eyy.
Thanks a lot!
syms E ex ey r v t p
Pa=(E*ex)/((r/2*t)-v*r/t);
Po=(E*ey)/(-v*(r/2*t)+r/t);
%Value of all derivatives
%Calculation of the derivatives
dPa1=diff(Pa,E);
dPa2=diff(Pa,ex);
dPa3=diff(Pa,r);
dPa4=diff(Pa,v);
dPa5=diff(Pa,t);
dPo1=diff(Po,E);
dPo2=diff(Po,ey);
dPo3=diff(Po,r);
dPo4=diff(Po,v);
dPo5=diff(Po,t);
%Values of u
u1=sqrt((0.05*70*10^3)^2/3); % u for E coefficient
u2=sqrt((0.05*0.3)^2/3); % u for v Poisson's coefficient
u3=sqrt(1^2/3); % u for r
u4=sqrt(0.01^2/3); % u for t
u5=sqrt((5*10^-6)^2/3); % u for strain
%Now we give values to all the variables
E=70*10^3;
v=0.3;
r=33;
t=0.1;
exx=[];
eyy=[];
ex=(((p*r)/(2*t))-v*((p*r)/t))*1/E;
ey=(-v*((p*r)/(2*t))+((p*r)/t))*1/E;
uc=[];
ucc=[];
for p=0:0.001:0.2
exx=[exx eval(ex)];
eyy=[eyy eval(ey)];
uc=[uc sqrt((eval(dPa1)*u1)^2+(eval(dPa2)*u2)^2+(eval(dPa3)*u3)^2+(eval(dPa4)*u4)^2+(eval(dPa5)*u5)^2+(eval(dPo1)*u1)^2+(eval(dPo2)*u2)^2+(eval(dPo3)*u3)^2+(eval(dPo4)*u4)^2+(eval(dPo5)*u5)^2)]; %uc in terms of p
end
0 comentarios
Respuesta aceptada
Walter Roberson
el 23 de Oct. de 2022
eval() of a symbolic expression is not defined. Use subs() and double()
2 comentarios
Walter Roberson
el 23 de Oct. de 2022
eval() of a symbolic expression is in practice eval of char() of the expression. See https://www.mathworks.com/matlabcentral/answers/1833228-import-a-symbolic-expression-to-simulink-and-plot-it#answer_1081478 for why that does not work.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!