Calculate centroid and length of a rectangular shape
Afficher commentaires plus anciens

Hi,
I would like to obtain the distance with respect to the centriod (both distances 97.2 and 152.78) as shown in the figure. The centroid already obtained by the following commands (255.55) but I would like then to calculate the distance 247.22-(100+50)= 97.2
and for the bottom equal to (300+100)-255.55=152.78
So I would like my output to be =[97.2 247.22 152.78]
I would like to have a commands which works for different number, hope you get the idea nd could help me
function [Ybar]=y_bar_calculations(l)
l=[50 200 300];
l(1:length(l))=l(length(l):-1:1);
for i=1:length(l)
if i==1
Ybar_Pre(i)= l(i)/2;
else
Ybar_Pre(i) = sum(l(1:i-1)) + l(i)/2;
end
end
Ybar(1:length(l),1)= Ybar_Pre(length(l):-1:1);
c=247.22
% OUTPUT SHOULD BE [97.2 247.22 152.78]
end
9 commentaires
darova
le 21 Avr 2020
Here is the first step

Ali Tawfik
le 21 Avr 2020
Ali Tawfik
le 21 Avr 2020
Rik
le 21 Avr 2020
I have no clue which lengths you're trying to subtract from where. If you replace every length by a letter, what would you have then? Wouldn't that already be what you need?
Ali Tawfik
le 21 Avr 2020
Rik
le 21 Avr 2020
What are your exact inputs and what output do you want? Are all the distances shown in your question the input? And what is the origin of your coordinate system?
Ali Tawfik
le 21 Avr 2020
Rik
le 22 Avr 2020
The origin is not a number, it is a position.

Now define your inputs explicitly: mark points with letters and list all letter-to-letter distance you know as input. Then point out what you need as output, putting additional letters if needed.
Now that you have your geometric problem defined you can start writing the algebra: which values do you need subtract from which other value?
Only then can you write it as a function.
Réponses (0)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
