Solving System of 3 equations non trivial
5 次查看(过去 30 天)
显示 更早的评论
Px = 8.08*10^5
Py = 4.63*10^5
P_A = 9.54*10^4
pCr = .89*10^5
m = [0 (pCr-Px) (pCr*.076);(pCr-Py) 0 0; 0 (.076*pCr) (.0089*(pCr-P_A))]
B = [0; 0; 0];
for pCr = .88*10^5:.1:.9*10^5
m = [0 (pCr-Px) (pCr*.076);(pCr-Py) 0 0; 0 (.076*pCr) (.0089*(pCr-P_A))]
X = linsolve(m,B)
if X ~= [0;0;0]
PCrit = pcr;
break;
end
end
I already know one critical values and my current proccess odviously does not work by testing a lot of Pcr values until I do not have a trivial I think there is a way to do it through Linear Algebra but I am brain farting right now.
0 个评论
采纳的回答
Walter Roberson
2023-4-14
Px = 8.08*10^5
Py = 4.63*10^5
P_A = 9.54*10^4
syms pCr;
m = [0 (pCr-Px) (pCr*.076);(pCr-Py) 0 0; 0 (.076*pCr) (.0089*(pCr-P_A))]
%are there general X such that m*x = [0;0;0] ?
%if so that would be the null space
null(m)
%nope, it is generally empty.
%what happens if we substitute in a particular value for pCr
m123 = subs(m, pCr, 123);
rank(m123)
null(m123)
%nope, full rank, no non-trival null space.
%but are there specific values of pCr that lead to lower rank?
pCrit = solve(det(m))
vpa(pCrit)
for K = 1 : size(pCrit,1)
disp('value being substituted for pCr:')
disp(pCrit(K))
disp('substituted matrix')
M = subs(m, pCr, pCrit(K))
disp('rank of substituted')
rank(M)
disp('null space of substituted')
null(M)
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!