How do I plot two graphs on one figure?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Henry Giddens
2018-8-18
编辑:Henry Giddens
2018-8-18
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)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!