Dividing a beam of certain length in 10000 points and edit vector at point 0 mm

1 vue (au cours des 30 derniers jours)
Hey,
I want to ride a Matlab programm where I can plot the shear forces and bending moments on a beam. For calculating the shear forces I solve a set of equations (forces and moments) and by knowing the reacting and acting forces I can plot the shear forces. My code for that is the following:
for i=1:length(Q(:,1))
q(1,Q(i,2)*10000/l:10000)=Q(i,1)+q(1,Q(i,2)*10000/l:10000);
end
where q ..... vector of shear forces (with 10000 points)
Q ..... Matrix with all acting and reacting forces
Q(:,1) contains the force itself (e.g. 100 N)
Q(:,2) contains the position of the forces
l ..... length of the beam
but when a force acts on the edge of the beam (for example at 0 mm when the beam is 100 mm long) I get an error because the second index of q would be zero.
How can I solve this problem? I really have no idea and would be very grateful if you could help me! Thanks!
  2 commentaires
Guillaume
Guillaume le 8 Oct 2018
Your equation is very odd. How do you ensure that Q(i, 2)*10000/l is a positive integer number?
Cedric Kotitschke
Cedric Kotitschke le 8 Oct 2018
Modifié(e) : Cedric Kotitschke le 8 Oct 2018
Q(i,2) is the position of the force wich is always positive. If you take a beam which is 100 mm long the position value would need to be exact to the third decimal (like 30,125 mm) to be a non-integer which never happened in any of my problems. But nevertheless a good point. Do you have an suggestion on how to improve the code?

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by