Create an imat_shp from shape coefficients.
s=build_shape(t,coeff)
This function is useful for creating an imat_shp object when mode shape coefficients have been determined at certain coordinates. BUILD_SHAPE takes an imat_ctrace coordinate trace t and a numeric array coeff which is dimensioned length(t) by the number of modes. It builds an imat_shp object s with the given shape coefficients. Sign corrections are made for coordinates oriented in a minus direction.
The output shape s will have default attributes, and node labels including all nodes in the coordinate trace t. s will be a 3DOF shape if t contains only translational degrees of freedom; otherwise it will be a 6DOF shape. Any degrees of freedom not contained in the coordinate trace will be filled with zero shape coefficients. Blank coordinate directions in T will be converted to X+.
After calling BUILD_SHAPE, you can set other attributes of s such as frequency, damping, modal mass, etc.
>> t % measurement coordinates
t =
'101Y+'
'101Z-'
'64X+'
>> coeff % shape coefficients at measured coord (5 modes)
coeff
=
-0.4326 0.2877 1.1892 0.1746 -0.5883
-1.6656 -1.1465 -0.0376 -0.1867 2.1832
0.1253 1.1909 0.3273 0.7258 -0.1364
>> shp=build_shape(t,coeff) % build shape object
shp =
5x1 IMATShape with the following attributes:
Row Frequency Damping NumberNodes
--- ------------------- ------------------- -------------------
1 1 0.01 2
2 1 0.01 2
3 1 0.01 2
4 1 0.01 2
5 1 0.01 2
>> s.node
ans =
64 64 64 64 64
101 101 101 101 101
>> s.shape
ans =
0.1253 1.1909 0.3273 0.7258 -0.1364
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
-0.4326 0.2877 1.1892 0.1746 -0.5883
1.6656 1.1465 0.0376 0.1867 -2.1832
>>