i am trying to get the value of u_E using the equation, but matlab says it has error in that line which has the equation.
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
%creat symbol for axial force, length, thickness, displacemnent and width
syms f l t d w
%define governing equations for parameter
stress = f./(t*w)
strain = d./l
%measurement resolution and uncertainty
u_f = (f./100)./2./12;
u_l = 1/32/12/2;
u_t = 0.001/2/12;
u_d = (d./100)./2./12;
u_w = 0.001/12/2;
%zeroth order uncertainty
E = (f.*l)./(d.*w*t);
u_E = sqrt((diff(E,u_f).*u_f).^2 + (diff(E,u_d).*u_d).^2 + ...
(diff(E,u_l).*u_l).^2+(diff(E,u_t).*u_t).^2+(diff(E,u_w).*u_w).^2)
%define symbolic data
T = readtable('Intro_specimen 2.txt');
f = T{:,2};
l = 6.125;
t = 0.057;
d = (T{:,1})./12;
w = 0.414;
%substitute value into equation
stress = eval(stress);
strain = eval(strain);
%plot with errorbar
plot(strain,stress)
hold on
title('strain vs. stress')
xlabel('strain (ft^3)')
ylabel('stress (slug/ft^3)')
0 Kommentare
Antworten (2)
Paul
am 10 Sep. 2022
Hi kaixi
%creat symbol for axial force, length, thickness, displacemnent and width
syms f l t d w
%define governing equations for parameter
stress = f./(t*w);
strain = d./l;
%measurement resolution and uncertainty
u_f = (f./100)./2./12;
u_l = 1/32/12/2;
u_t = 0.001/2/12;
u_d = (d./100)./2./12;
u_w = 0.001/12/2;
%zeroth order uncertainty
E = (f.*l)./(d.*w*t);
u_E = sqrt((diff(E,u_f).*u_f).^2 + (diff(E,u_d).*u_d).^2 + ...
(diff(E,u_l).*u_l).^2+(diff(E,u_t).*u_t).^2+(diff(E,u_w).*u_w).^2)
In the Symbolic Math Toolbox, the function diff is used to diffentiate an expression with respect to a variable. So
diff(E,u_f)
means take the derivative of E wrt u_f, but u_f is an expression, not a variable. Similarly, u_l is a number, not a variable.
What exactly is the math that we're trying to implement?
2 Kommentare
Torsten
am 10 Sep. 2022
f is the force and d is the displacement, and they are a set of data from the txt file.
And why - if they are data from a txt file - do you define them as syms ?
Walter Roberson
am 10 Sep. 2022
As discussed at https://www.mathworks.com/matlabcentral/answers/1802585-not-able-to-evaluate-the-value-for-an-equation-using-the-data-from-a-table-table-is-three-columns-d#comment_2357215 it is a mistake to use eval() with a symbolic expression.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Stress and Strain finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!