Extract positive value from solve function
    9 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
eqs = [(A-a1)  == d, (A-a2)  == d2;
 S = solve(eqs, [A B]);
 a = S.A
 b = S.B
In the code above, all other variables are given so i AM solving for A and B. The code above alrEADY works and displays a solution but how will I extract the positive values of the solution only , and assign them to variables a and b?
0 Commenti
Risposte (1)
  Torsten
      
      
 il 3 Apr 2022
        
      Modificato: Torsten
      
      
 il 3 Apr 2022
  
      If a and b contain no more symbolic constants, then you can use
a = double(a);
b = double(b);
a = a(abs(imag(a)) < 1e-6);
b = b(abs(imag(b)) < 1e-6);
a = real(a);
b = real(b);
A = [];
B = [];
iter = 0;
for i = 1:numel(a)
  if a(i) >= 0 && b(i) >= 0
    iter = iter + 1;
    A(iter) = a(i);
    B(iter) = b(i);
  end
end
A
B
2 Commenti
  Torsten
      
      
 il 3 Apr 2022
				
      Modificato: Torsten
      
      
 il 3 Apr 2022
  
			Since you get complex solutions to your system, the two circles don't cross for the midpoints and radii given.
In order that they have points in common, the condition
d + d2 >= sqrt((a1-a2)^2 + (c1-c2)^2)
must be met.
I modified the code from above.
Vedere anche
Categorie
				Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

