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

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Guillaume
Guillaume il 8 Ott 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 il 8 Ott 2018
Modificato: Cedric Kotitschke il 8 Ott 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?

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by