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

1 Ansicht (letzte 30 Tage)
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 Kommentare
Guillaume
Guillaume am 8 Okt. 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 am 8 Okt. 2018
Bearbeitet: Cedric Kotitschke am 8 Okt. 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?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by