For loop to do 900 subtractions
    3 views (last 30 days)
  
       Show older comments
    
So I have a Double Difference equation in the form of y = (sqrt(BR^2 - B1^2) - sqrt(BB^2 - B1^2)) - (sqrt(BR^2 - B2^2) - sqrt(BB^2 - B2^2)).......
and so on with B(i) being 901 numbers so (n1 - n2 - n3 - n4 - n5  ....... - n901)
How would I even begin to write a loop to do this so I don't have to cut and paste 901 times?
Please be patient with me my brain is so far gone, i've been at this code for about 100 hours now.
B = [X_mat_base, Y_mat_base, Z_mat_base];
BB = [xyz(1), xyz(2), xyz(3)];
BR = zeros(1, 3);
B = [X_mat_base, Y_mat_base, Z_mat_base];
for i = 1:length(BB(:, 1)) 
    yx(i) = (sqrt(BR(1)^2 - B(i, 1).^2) - sqrt(BB(1)^2 - B(i, 1).^2));
end
0 Comments
Answers (2)
  Walter Roberson
      
      
 on 1 Mar 2022
        y = sqrt((BR - B).^2 + (BB - B).^2);
4 Comments
  Walter Roberson
      
      
 on 1 Mar 2022
				"and so on with B(i) being 901 numbers so (n1 - n2 - n3 - n4 - n5  ....... - n901)"
That implied to me that you have a single variable named B and that where you wrote B2 in your code you meant B(2) .
If you have individual variables B1, B2, B3, ... B901 then... don't .
  David Hill
      
      
 on 1 Mar 2022
				Your signs are making no sense to me. Your question had all minus signs after the first term. I am confused as to what you want. You should be able to excute without a for-loop. Above some of your BB terms are plus and some are minus
  David Hill
      
      
 on 1 Mar 2022
        yx=sqrt(BR^2-B(1)^2)-sum(sqrt(BB^2-B.^2))-sum(sqrt(BR^2-B(2:end).^2));
0 Comments
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

