not able to evaluate the value for an equation using the data from a table, table is three columns data
Show older comments
%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
%zeroth order uncertainty
%define symbolic data
T = readtable('Intro_specimen 2.txt');
f = T(:,2);
l = 6.125;
t = 0.057;
d = T(:,1);
w = 0.414;
%substitute value into equation
stress = eval(stress);
strain = eval(strain);
3 Comments
Walter Roberson
on 10 Sep 2022
f = T(:,2);
Reminder: using () indexing for a table() object returns a table() object.You would need
f = T{:,2};
to get a numeric object.
stress = eval(stress);
Never eval() a symbolic object. eval() of a symbolic object is not formally defined, but in practice it is equivalent to eval(char(TheSymbolicObject)) . That is a problem because the character representation of symbolic objects is in a computer language that is not MATLAB and is not the internal MuPAD programming language.
syms x real
y = piecewise(3 < x & x < 5, 2, 4)
char(y)
x = pi
eval(y)
... which is happening because "x in Dom::Interval" is not valid MATLAB syntax.
Pulkit
on 13 Sep 2022
Try using 'readmatrix' function instead of 'readtable' as readtable outputs table object which is not supported by element wise operations. If problem still presist please share the exact error message you are getting and also type of data in Intro_specimen 2.txt
Accepted Answer
More Answers (0)
Categories
Find more on Structural Mechanics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!