How to get numerical answers for solving determinant is 0

23 views (last 30 days)
I want to solve determinant of an 8x8 matrix is zero. Some of the element of the matrix has symbolic "p" in it. I want to know what value of "p" will make the determinat of the matrix to be 0.
The result returns a different super long functions with Z. Each funtion is displayed on a line.
I am not really sure if this is the correct result and I want a numerical answer for "p".
format shortE
E = 210 * 10^9;
k1 = zeros(8, 8);
k2 = zeros(8, 8);
syms p
k1(1, 1) = 15.24;
k1(1, 2) = 2.28;
k1(1, 3) = -15.24;
k1(1, 4) = 2.28;
k1(2, 1) = 2.28;
k1(2, 2) = 0.46;
k1(2, 3) = -2.28;
k1(2, 4) = 0.23;
k1(3, 1) = -15.24;
k1(3, 2) = -2.28;
k1(3, 3) = 22.86;
k1(3, 4) = 0;
k1(3, 5) = -7.63;
k1(3, 6) = 2.28;
k1(4, 1) = 2.28;
k1(4, 2) = -0.23;
k1(4, 3) = 0;
k1(4, 4) = 1.37;
k1(4, 5) = -2.28;
k1(4, 6) = -0.46;
k1(5, 3) = -7.62;
k1(5, 4) = -2.28;
k1(5, 5) = 22.86;
k1(5, 6) = 0;
k1(5, 7) = -15.24;
k1(5, 8) = 2.28;
k1(6, 3) = 2.28;
k1(6, 4) = 0.46;
k1(6, 5) = 0;
k1(6, 6) = 1.37;
k1(6, 7) = -2.28;
k1(6, 8) = 0.23;
k1(7, 5) = -15.24;
k1(7, 6) = -2.28;
k1(7, 7) = 15.24;
k1(7, 8) = -2.28;
k1(8, 5) = 2.28;
k1(8, 6) = -0.23;
k1(8, 7) = -2.28;
k1(8, 8) = 0.46;
k2(1, 1) = 4;
k2(1, 2) = 0.1;
k2(1, 3) = -4;
k2(1, 4) = 0.1;
k2(2, 1) = 0.1;
k2(2, 2) = 0.04;
k2(2, 3) = -0.1;
k2(2, 4) = -0.01;
k2(3, 1) = -4;
k2(3, 2) = -0.1;
k2(3, 3) = 6;
k2(3, 4) = 0;
k2(3, 5) = -2;
k2(3, 6) = 0.1;
k2(4, 1) = 0.1;
k2(4, 2) = -0.01;
k2(4, 3) = 0;
k2(4, 4) = 0.12;
k2(4, 5) = -0.1;
k2(4, 6) = -0.02;
k2(5, 3) = -2;
k2(5, 4) = -0.1;
k2(5, 5) = 6;
k2(5, 6) = 0;
k2(5, 7) = -4;
k2(5, 8) = 0.1;
k2(6, 3) = 0.1;
k2(6, 4) = -0.02;
k2(6, 5) = 0;
k2(6, 6) = 0.12;
k2(6, 7) = -0.1;
k2(6, 8) = -0.01;
k2(7, 5) = -4;
k2(7, 6) = -0.1;
k2(7, 7) = 4;
k2(7, 8) = -0.1;
k2(8, 5) = 0.1;
k2(8, 6) = -0.01;
k2(8, 7) = -0.1;
k2(8, 8) = 0.04;
k = k1 .* E .* (10^-5) - p .* k2;
result = det(k);
solve(result == 0)

Accepted Answer

Torsten
Torsten on 22 Nov 2022
Edited: Torsten on 22 Nov 2022
This is a generalized eigenvalue problem. Use "eig" to solve for p:
E = 210 * 10^9;
k1 = zeros(8, 8);
k2 = zeros(8, 8);
k1(1, 1) = 15.24;
k1(1, 2) = 2.28;
k1(1, 3) = -15.24;
k1(1, 4) = 2.28;
k1(2, 1) = 2.28;
k1(2, 2) = 0.46;
k1(2, 3) = -2.28;
k1(2, 4) = 0.23;
k1(3, 1) = -15.24;
k1(3, 2) = -2.28;
k1(3, 3) = 22.86;
k1(3, 4) = 0;
k1(3, 5) = -7.63;
k1(3, 6) = 2.28;
k1(4, 1) = 2.28;
k1(4, 2) = -0.23;
k1(4, 3) = 0;
k1(4, 4) = 1.37;
k1(4, 5) = -2.28;
k1(4, 6) = -0.46;
k1(5, 3) = -7.62;
k1(5, 4) = -2.28;
k1(5, 5) = 22.86;
k1(5, 6) = 0;
k1(5, 7) = -15.24;
k1(5, 8) = 2.28;
k1(6, 3) = 2.28;
k1(6, 4) = 0.46;
k1(6, 5) = 0;
k1(6, 6) = 1.37;
k1(6, 7) = -2.28;
k1(6, 8) = 0.23;
k1(7, 5) = -15.24;
k1(7, 6) = -2.28;
k1(7, 7) = 15.24;
k1(7, 8) = -2.28;
k1(8, 5) = 2.28;
k1(8, 6) = -0.23;
k1(8, 7) = -2.28;
k1(8, 8) = 0.46;
k2(1, 1) = 4;
k2(1, 2) = 0.1;
k2(1, 3) = -4;
k2(1, 4) = 0.1;
k2(2, 1) = 0.1;
k2(2, 2) = 0.04;
k2(2, 3) = -0.1;
k2(2, 4) = -0.01;
k2(3, 1) = -4;
k2(3, 2) = -0.1;
k2(3, 3) = 6;
k2(3, 4) = 0;
k2(3, 5) = -2;
k2(3, 6) = 0.1;
k2(4, 1) = 0.1;
k2(4, 2) = -0.01;
k2(4, 3) = 0;
k2(4, 4) = 0.12;
k2(4, 5) = -0.1;
k2(4, 6) = -0.02;
k2(5, 3) = -2;
k2(5, 4) = -0.1;
k2(5, 5) = 6;
k2(5, 6) = 0;
k2(5, 7) = -4;
k2(5, 8) = 0.1;
k2(6, 3) = 0.1;
k2(6, 4) = -0.02;
k2(6, 5) = 0;
k2(6, 6) = 0.12;
k2(6, 7) = -0.1;
k2(6, 8) = -0.01;
k2(7, 5) = -4;
k2(7, 6) = -0.1;
k2(7, 7) = 4;
k2(7, 8) = -0.1;
k2(8, 5) = 0.1;
k2(8, 6) = -0.01;
k2(8, 7) = -0.1;
k2(8, 8) = 0.04;
A = k1 .* E .* (10^-5);
B = k2;
format long
p = eig(A,B)
p =
1.0e+18 * -7.109617135584235 + 0.000000000000000i -0.000000000002034 + 0.000000000000000i 0.000000000000558 + 0.000000000000000i 0.000000000003757 + 0.000000000000000i 0.000000000025064 + 0.000000000008017i 0.000000000025064 - 0.000000000008017i 0.000000000025735 + 0.000000000002401i 0.000000000025735 - 0.000000000002401i

More Answers (0)

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!