How do I plot two graphs on one figure?

2 views (last 30 days)
Dhaval Gajera
Dhaval Gajera on 18 Aug 2018
Commented: Dhaval Gajera on 20 Aug 2018
I have written this function. It calculates beam deflection for the range provided. Now I want to differentiate the equation and find value of the equation at the same range and want to plot the graph on same graph.
clear all clc clf
%This program calculates deflaction of beam subject to tapering load 'w'.
syms x
w = 122.35 %kN/cm; L = 150 %cm; E = 27000 %kN/cm^2; I = 35000 %cm^4; x = linspace(0,150,1000);
y = w*((-x.^5)+(2*L.^2*x.^3)-(L.^4*x))/(120*E*I*L)
plot(x,y)

Answers (1)

Henry Giddens
Henry Giddens on 18 Aug 2018
Edited: Henry Giddens on 18 Aug 2018
Something like:
dy = diff(y);
dx = diff(x);
plot(x,y);
hold on;
plot(x(1:end-1),dy./dx)
The gradient using diff is calculated between points X(n) and X(n+1), so dX has a size of one element less than x. Therefore you may need to adjust according to what you want to plot
x2 = x(1:end-1) + (x(2)-x(1))/2; %Does this work?
plot(x2,dy./dx)
  1 Comment
Dhaval Gajera
Dhaval Gajera on 20 Aug 2018
Hi Henry,
Thanks for your answer. However, my question is a bit different. This is what I am trying to solve:
The deflection y of a beam subject to a tapering load w, may be computed as,
{{There is an equation that I have written in code}}
Compute and plot the beam deflection, y, along the beam length, x, as well as the rate of change of deflection (dy/dx).

Sign in to comment.

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!