How do I find independent equations from a system of linear equations?

조회 수: 8 (최근 30일)
Nidhish Jain
Nidhish Jain 2017년 12월 15일
편집: Nidhish Jain 2017년 12월 15일
I am trying to find independent equations out of a system of linear equations. In total I have 24 equations, but when I checked the rank of the matrix formed by these equations I got 6. That means there are 6 independent equations, but how do I find them?

답변 (1개)

James Tursa
James Tursa 2017년 12월 15일
  댓글 수: 7
James Tursa
James Tursa 2017년 12월 15일
Highlight the code, and then push the "{ } Code" button ...
Nidhish Jain
Nidhish Jain 2017년 12월 15일
This is when I am using numerical values for each variable. Here the rank of Knew is 3.
clc;
clear;
kn = 2.5197*1000;
kt = 0.1481*kn;
Rp = 5/1000;
Rq = 2.5/1000;
m1 = 1.05*10^3*pi*(Rp)^2*9/1000;
m2 = 2.15*10^3*pi*(Rq)^2*9/1000;
I1 = m1*Rp^2/2;
I2 = m2*Rq^2/2;
klocal = [kn 0 0 -kn 0 0;...
0 kt kt*Rp 0 -kt kt*Rq;...
0 kt*Rp kt*Rp^2 0 -kt*Rp kt*Rp*Rq;...
-kn 0 0 kn 0 0;...
0 -kt -kt*Rp 0 kt -kt*Rq;...
0 kt*Rq kt*Rp*Rq 0 -kt*Rq kt*Rq^2];
angle = [pi/4 7*pi/4 pi/4 3*pi/4 pi/4 5*pi/4 3*pi/4 pi/4 7*pi/4];
%----1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
C = [1 2 3 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;... %1
0 0 0 4 5 6 1 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;... %2
0 0 0 0 0 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0;... %3
0 0 0 0 0 0 0 0 0 4 5 6 1 2 3 0 0 0 0 0 0 0 0 0;... %4
0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 0 0 0 0 0 0;... %5
0 0 0 4 5 6 0 0 0 0 0 0 1 2 3 0 0 0 0 0 0 0 0 0;... %6
0 0 0 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 0 0 0;... %7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6;... %8
0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 0 0 0 0 0 0 4 5 6]; %9
K = zeros(24);
for ii = 1:9
Lc = cos(angle(ii));
Ls = sin(angle(ii));
p = [ Lc Ls 0 0 0 0;...
-Ls Lc 0 0 0 0;...
0 0 1 0 0 0;...
0 0 0 Lc Ls 0;...
0 0 0 -Ls Lc 0;...
0 0 0 0 0 1];
Kglobal = p*klocal*p';
for j = 1:24
for r = 1:24
a = C(ii,j);
b = C(ii,r);
if a~=0 && b~=0
K(j,r) = Kglobal(a,b)+K(j,r);
Ksystem = K;
end
end
end
end
q = 1i;
d = (Rp+Rq)*cos(pi/4)*2;
kx = 0;
ky = 0;
kxd = exp(q*kx*d);
kyd = exp(q*ky*d);
kxyd = exp(q*(kx+ky)*d);
Knew = zeros(24,6);
for i = 1:24
for j = 1:6
Knew(i,j) = Ksystem(i,j) + kyd*Ksystem(i,j+6) + kxyd*Ksystem(i,j+12) + kxd*Ksystem(i,j+18);
end
end

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

카테고리

Help CenterFile Exchange에서 Equation Solving에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by