How do I plot two graphs on one figure?
3 views (last 30 days)
Show older comments
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)
0 Comments
Answers (1)
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)
See Also
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!