How to add unknow parameter in matrix and solve it by use det() syntax for finding w

조회 수: 2 (최근 30일)
% under is what i did but seen it is not work for det(A) for find w
clc % clear history command and past result
syms w;
m1 = 1.8;
m2 = 6.3;
m3 = 5.4;
m4 = 22.5;
m5 = 54;
c2 = 10000;
c3 = 500;
c4 = 1500;
c5 = 1100;
k2 = 1*10^8;
k3 = 50*10^3;
k4 = 75*10^3;
k5 = 10*10^3;
% Form of matrix is Ax=b
% Where A is nxn matrix, x is displacement of lumped masses and b is RHS.
A= [0, 0, 0, 0, (m5*w^2)-k5-c5;
0, 0, k4+c4, -k4-c4+(m4*w^2)+k5+c5, -k5+c5;
k2+c2, -k3-c3-k2-c2+(m2*w^2), k3+c3, 0, 0;
-k2-c2+(m1*w^2), k2+c2, 0, 0, 0];
det (A);

채택된 답변

Hassaan
Hassaan 2024년 5월 9일
편집: Hassaan 2024년 5월 9일
clc; % Clear command window
clear; % Clear workspace
syms w; % Define w as a symbolic variable
% Define masses, damping coefficients, and stiffness coefficients
m1 = 1.8; m2 = 6.3; m3 = 5.4; m4 = 22.5; m5 = 54;
c2 = 10000; c3 = 500; c4 = 1500; c5 = 1100;
k2 = 1*10^8; k3 = 50*10^3; k4 = 75*10^3; k5 = 10*10^3;
% Define the matrix A
A = [k2+c2, -k2-c2+(m2*w^2), 0, 0, 0;
-k2-c2, k2+c2+k3+c3, -k3-c3, 0, 0;
0, -k3-c3, k3+c3+k4+c4, -k4-c4+(m4*w^2), 0;
0, 0, -k4-c4, k4+c4+k5+c5, -k5-c5;
0, 0, 0, -k5, k5+c5+(m5*w^2)];
% Calculate the determinant of the matrix A
detA = det(A);
% Display the determinant
disp('The determinant of matrix A is:');
The determinant of matrix A is:
disp(detA);
double(solve(detA==0,w,'MaxDegree',3))
ans =
1.0e+02 * 0.0000 + 0.0369i 0.0000 + 1.0353i 0.0000 - 0.2352i -0.0000 - 0.0369i -0.0000 - 1.0353i -0.0000 + 0.2352i
-----------------------------------------------------------------------------------------------------------------------------------------------------
If you find the solution helpful and it resolves your issue, it would be greatly appreciated if you could accept the answer. Also, leaving an upvote and a comment are also wonderful ways to provide feedback.
It's important to note that the advice and code are based on limited information and meant for educational purposes. Users should verify and adapt the code to their specific needs, ensuring compatibility and adherence to ethical standards.
Professional Interests
  • Technical Services and Consulting
  • Embedded Systems | Firmware Developement | Simulations
  • Electrical and Electronics Engineering
Feel free to contact me.
  댓글 수: 5
Sam Chak
Sam Chak 2024년 5월 10일
Could you explain what the symbolic variable w is?
syms w W
% Define masses, damping coefficients, and stiffness coefficients
m1 = 1.8; m2 = 6.3; m3 = 5.4; m4 = 22.5; m5 = 54;
c2 = 10000; c3 = 500; c4 = 1500; c5 = 1100;
k2 = 1*10^8; k3 = 50*10^3; k4 = 75*10^3; k5 = 10*10^3;
% Define the matrix A
A = [k2+c2, -k2-c2+(m2*w^2), 0, 0, 0;
-k2-c2, k2+c2+k3+c3, -k3-c3, 0, 0;
0, -k3-c3, k3+c3+k4+c4, -k4-c4+(m4*w^2), 0;
0, 0, -k4-c4, k4+c4+k5+c5, -k5-c5;
0, 0, 0, -k5, k5+c5+(m5*w^2)];
% Calculate the determinant of the matrix A
detA = det(A);
detA = subs(detA, w^2, W);
% Display the determinant
disp('The determinant of matrix A is:');
The determinant of matrix A is:
disp(detA);
Wsol = double(solve(detA==0, W, 'MaxDegree', 3))
Wsol =
1.0e+04 * -0.0014 + 0.0000i -1.0718 + 0.0000i -0.0553 - 0.0000i
Torsten
Torsten 2024년 5월 10일
I dont know why but when i use det(A) the error is Matrix must be square.
Maybe you used the 4x5 matrix you posted first.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

John D'Errico
John D'Errico 2024년 5월 9일
편집: John D'Errico 2024년 5월 9일
syms w;
m1 = 1.8;
m2 = 6.3;
m3 = 5.4;
m4 = 22.5;
m5 = 54;
c2 = 10000;
c3 = 500;
c4 = 1500;
c5 = 1100;
k2 = 1*10^8;
k3 = 50*10^3;
k4 = 75*10^3;
k5 = 10*10^3;
% Form of matrix is Ax=b
% Where A is nxn matrix, x is displacement of lumped masses and b is RHS.
A = [k2+c2, -k2-c2+(m2*w^2), 0, 0, 0;
-k2-c2, k2+c2+k3+c3, -k3-c3, 0, 0;
0, -k3-c3, k3+c3+k4+c4, -k4-c4+(m4*w^2), 0;
0, 0, -k4-c4, k4+c4+k5+c5, -k5-c5;
0, 0, 0, -k5, k5+c5+(m5*w^2)];
A
A = 
Assuming that is correctly your matrix, the result will be a degree 6 polynomial.
Adet = det(A)
Adet = 
There can be no exact algebraic solutions fro a degree 5 or higher polynomial. But you can have numerically computed roots.
wsol = solve(Adet,maxdegree = 6)
wsol = 
As you can see, there were no real solutions. All solutions were purely imaginary. The real parts of those solutions are all effectively zero.

john
john 2024년 5월 22일
편집: john 2024년 5월 23일
To add an unknown parameter in a matrix and solve it using det() syntax for an IQ brain test, replace an element with 'w.' Then, compute the determinant and solve the resulting equation for 'w.' This process allows for a more dynamic and challenging matrix calculation, enhancing the complexity of the IQ brain test.

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by