1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Need help with matlab matrices

  1. Nov 27, 2015 #1
    1. The problem statement, all variables and given/known data
    I'm using matlab to design a truss and the output is suppose to be the deflections caused by the applied loads. But I keep getting "not a number" for my deflections . here is the warnings I get.

    Warning: System may be partially constrained.
    > In truss3 (line 222)
    In truss3ex2 (line 26)
    Warning: Matrix is singular to working precision.
    > In truss3 (line 224)
    In truss3ex2 (line 26)


    2. Relevant equations
    relevant lines from truss3 starting at line 219

    Code (Matlab M):

    % Solve the force-displacement equations.


    AA = [a,zero1;e,d]; BB = [b,zero2]'; detAA = det(AA);

    if abs(detAA) < 1e-16

    warning('System may be partially constrained.')

    end

    AAinv = inv(AA); sol = AAinv*BB;

    % Prepare the output quantities.

    pp = 0;

    for i = 1:n


    Jforce(i,1) = i; Jdispl(i,1) = i;

    isol = 2*m+p+3*(i-1);

    Jdispl(i,2) = sol(isol+1); Jdispl(i,3) = sol(isol+2);

    Jdispl(i,4) = sol(isol+3);

    [\code]


    [B]3. The attempt at a solution
    [/B]
    here is the code.

    [code=matlab]
    % class design project example


    %

    % all of the members are quenched steel

    % k = 2000 k-lb, Pmax = 1500 k-lb (A = 100 sq-inch)

    %

    clear

    n = 24; m = 60; LOADZ = -20000; LOADY = 1000; A = 100;

    joint = [0,0,0;0,0,-10;0,0,-20;12,0,0;12,0,-10;12,0,-20;...

    0,10,0;0,10,-10;12,10,0;12,10,-10;0,20,0;0,20,-10;...

    12,20,0;12,20,-10;0,30,0;0,30,-10;12,30,0;12,30,-10;...

    0,40,0;0,40,-10;0,40,-20;12,40,0;12,40,-10;12,40,-20];

    assembly = [1,2;1,4;1,7;2,3;2,4;2,5;2,6;2,7;2,8;3,6;3,8;...

    4,5;4,9;5,6;5,9;5,10;6,10;7,8;7,9;7,11;8,9;8,10;8,11;...

    8,12;9,10;9,13;10,13;10,14;11,12;11,13;11,14;11,15;11,16;...

    12,14;12,16;13,14;13,17;13,18;14,18;15,16;15,17;15,19;15,20;...

    16,17;16,18;16,20;16,21;17,18;17,22;17,23;18,23;18,24;19,20;...

    19,22;20,22;20,23;20,24;21,24;22,23;23,24];

    forceJ = [3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1;...

    3,1,1,1;-1,0,0,0;-1,0,0,0;...

    -1,0,0,0; -1,0,0,0;-1,0,LOADY,LOADZ;-1,0,0,0;...

    -1,0,LOADY,LOADZ;-1,0,0,0;-1,0,0,0;-1,0,0,0;-1,0,0,0;-1,0,0,0;...

    3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1];

    for i = 1:m; stretch(i) = 2000*1000; end; stretch(1);

    %

    index = 1;

    [Jforce,Mforce,Jdispl,Mdispl] = ...                                                ([B]LINE 26)[/B]

    truss3(n,m,joint,assembly,forceJ,stretch,index);

    %

    peak_klb = 18*A

    maxMforce_klb = max(abs(Mforce/1000))

    maxJdispl = max(abs(Jdispl*12));

    maxDX_in = maxJdispl(2),maxDY_in = maxJdispl(3),maxDZ_in = maxJdispl(4)

    [\code]


    for forceJ, (3,1,1,1) indicates a external joint with 3 reaction forces. (-1,0,0,0) indicates an internal joint with no loads.
    Can anyone help me figure out this problem with the matrices? I have no idea what to do
     
    Last edited: Nov 27, 2015
  2. jcsd
  3. Nov 27, 2015 #2

    BvU

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    Hi, you want to use ##[##code=matlab##]##
    ##[##code=matlab##]##

    (code goes here)​

    ##[##\code##]##
    to keep it legible:

    Code (Matlab M):

    % Solve the force-displacement equations.

    AA = [a,zero1;e,d]; BB = [b,zero2]'; detAA = det(AA);

    if abs(detAA) < 1e-16
        warning('System may be partially constrained.')
    end

    AAinv = inv(AA); sol = AAinv*BB;

    % Prepare the output quantities.

    pp = 0;

    for i = 1:n

       Jforce(i,1) = i; Jdispl(i,1) = i;

       isol = 2*m+p+3*(i-1);

       Jdispl(i,2) = sol(isol+1); Jdispl(i,3) = sol(isol+2);

       Jdispl(i,4) = sol(isol+3);

    end

    % 3. The attempt at a solution
    % here is the code.

    % class design project example
    %
    % all of the members are quenched steel
    % k = 2000 k-lb, Pmax = 1500 k-lb (A = 100 sq-inch)
    %

    clear

    n = 24; m = 60; LOADZ = -20000; LOADY = 1000; A = 100;

    joint = [0,0,0;0,0,-10;0,0,-20;12,0,0;12,0,-10;12,0,-20;...

    0,10,0;0,10,-10;12,10,0;12,10,-10;0,20,0;0,20,-10;...

    12,20,0;12,20,-10;0,30,0;0,30,-10;12,30,0;12,30,-10;...

    0,40,0;0,40,-10;0,40,-20;12,40,0;12,40,-10;12,40,-20];

    assembly = [1,2;1,4;1,7;2,3;2,4;2,5;2,6;2,7;2,8;3,6;3,8;...

    4,5;4,9;5,6;5,9;5,10;6,10;7,8;7,9;7,11;8,9;8,10;8,11;...

    8,12;9,10;9,13;10,13;10,14;11,12;11,13;11,14;11,15;11,16;...

    12,14;12,16;13,14;13,17;13,18;14,18;15,16;15,17;15,19;15,20;...

    16,17;16,18;16,20;16,21;17,18;17,22;17,23;18,23;18,24;19,20;...

    19,22;20,22;20,23;20,24;21,24;22,23;23,24];

    forceJ = [3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1;...

    3,1,1,1;-1,0,0,0;-1,0,0,0;...

    -1,0,0,0; -1,0,0,0;-1,0,LOADY,LOADZ;-1,0,0,0;...

    -1,0,LOADY,LOADZ;-1,0,0,0;-1,0,0,0;-1,0,0,0;-1,0,0,0;-1,0,0,0;...

    3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1;3,1,1,1];

    for i = 1:m; stretch(i) = 2000*1000; end; stretch(1);

    %

    index = 1;

    [Jforce,Mforce,Jdispl,Mdispl] = ...                                     %           ([B]LINE 26)[/B]

    truss3(n,m,joint,assembly,forceJ,stretch,index);

    %

    peak_klb = 18*A

    maxMforce_klb = max(abs(Mforce/1000))

    maxJdispl = max(abs(Jdispl*12));

    maxDX_in = maxJdispl(2),maxDY_in = maxJdispl(3),maxDZ_in = maxJdispl(4)
     
     
  4. Nov 27, 2015 #3

    SteamKing

    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

    Seems like this is old news.

    In order for the stiffness matrix equations to have a solution, at least one or more nodes need to have an initial displacement specified. Thus usually is accomplished by specifying a zero displacement at the support points of the structure.

    It's not clear from your code where such initial conditions are specified by the user. Without being able to specify an initial displacement for at least one node, the stiffness matrix equations are probably giving a singular result when the deflections are being solved for.

    See p. 11 of the following article:

    http://www.engr.sjsu.edu/ragarwal/ME273/pdf/Chapter 4 - Beam Element.pdf

    More details can be found in the attached file below.
     

    Attached Files:

    Last edited: Nov 27, 2015
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Need help with matlab matrices
  1. MATLAB Help needed! (Replies: 1)

  2. Matlab help needed (Replies: 3)

  3. Matlab Need Help (Replies: 1)

Loading...