Effacer les filtres
Effacer les filtres

For loop to do 900 subtractions

2 vues (au cours des 30 derniers jours)
Terry Poole
Terry Poole le 1 Mar 2022
Commenté : David Hill le 1 Mar 2022
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

Réponses (2)

Walter Roberson
Walter Roberson le 1 Mar 2022
y = sqrt((BR - B).^2 + (BB - B).^2);
  4 commentaires
Walter Roberson
Walter Roberson le 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
David Hill le 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

Connectez-vous pour commenter.


David Hill
David Hill le 1 Mar 2022
yx=sqrt(BR^2-B(1)^2)-sum(sqrt(BB^2-B.^2))-sum(sqrt(BR^2-B(2:end).^2));

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by