illogical graph values when plotting shear diagram

I am trying to solve the following problem where i need to plot the shear diagram but in deed when ever i try to plot my graph it comes with illogical values
i am forced to use the function calc with no change to it (thats the only condition ) i can only change my script and in what context do i call my function
am getting the following graph
My script :
clc;
clear all;
w=2;
EI=1e6;
L=10;
x=linspace(0,L,1000)
a1=1;
an=4;
UDL=an-a1;
a=linspace(a1,an,1000);
dis=linspace(1,L,1000);
for i=1:length(a)
res=calc(dis(i),L,[w a(i)],EI);
v(i)=res(1);
m(i)=res(2);
y(i)=res(3);
end
plot(x,v);
the function calc :(should not change anyhting in it)
function [ res ] = calc( x,L,Load,EI )
%it is used to find the shear moment and deflection
%for a simply supported beam in 2 cases
% UDL, point load
if length(Load)==1 %UDL
P=Load;
res(1) = P*L/2-P*x;
res(2) = P*L/2*x-P*x ^2/2;
res(3) = -P*x/(24*EI)*(L^3-2*L*x^2+x^3);
elseif length(Load)==2 %Point load
F=Load(1);
a=Load(2);
b=L-a;R1=F*b/L;R2=F*a/L;
if x <= a
res(1) = R1;
res(2) = R1*x;
res(3) = -F*b*x/(6*L*EI)*(L^2-x^2-b^2);
else
res(1) = -R2;
res(2) = R1*x -F*(x-a);
res(3) = -F*b/(6*L*EI)*(L/b*(x-a)^3+(L^2-b^2)*x-x^3);
end
else
res=[];
end
end

回答(1 个)

Your x is just a single value, not a list of every x location for each v location. But you can leave it out and just plot x as the index number:
plot(v, 'b-');

2 个评论

i updated it the code and inserted the graph that am getting but in deeed its illogical , the shear diagram should be a staright line then a decrease of y=ax+b form then continue as a straight line and it should decrease by 2 overall , which is not happening any ideas?
It IS a line, followed by a decrease/drop of about 2, then another line. At around x = 1.2, the y goes from about 1.75 to -0.25, which is a drop of 2. I have no idea about the physics of that program - it just looks like an uncommented, alphabet soup to me. You maybe can take it up with your professor.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by