Date: Dec 1, 2012 1:12 PM
Author: Joshua
Subject: Problem solving nonlinear equations with matrices


I am working with the Finite Element Method using MATLAB and I have run into a technical problem. For the basic finite element procedure, a stiffness matrix K and a force vector F are created, and the results we want to find are solved using


where K and F have no variables, only numbers. Now, however, I am doing a vibration problem and need some help to put a nonlinear equation into the matrix, or to solve it simultaneously.

Here's my problem:

I have a square matrix K of only numbers and my force vector F is zeros. I cannot just solve


because it gives me the trivial zero solution. I have to insert an equation based on a diagonal matrix M such that

M_i*d(i)^2=1 (sum on i from 1 to the size of the K matrix)

or M11*d1^2 + M22*d2^2 + ... + Mnn*dn^2 = 1

where n is the number of rows/columns in K.

My procedure is to remove one equation (or row) from the K matrix, leaving n-1 equations, and to solve these equations with the M_i*d(i)^2=1 equation to give me a nonzero d solution. My problem I am new to MATLAB and have no clue how to do this. I've tried using fsolve but keep getting various error messages.