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

1 view (last 30 days)
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 Comments
Guillaume
Guillaume on 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 on 8 Oct 2018
Edited: Cedric Kotitschke on 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?

Sign in to comment.

Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!