How can I plot this graph in MATLAB?

2 次查看(过去 30 天)

回答(2 个)

Sam Chak
Sam Chak 2023-2-1
Hi @Itqan Ismail, search this function on MathWorks.
help plot
PLOT Linear plot. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, disconnected line objects are created and plotted as discrete points vertically at X. PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)). In all other uses of PLOT, the imaginary part is ignored. Various line types, plot symbols and colors may be obtained with PLOT(X,Y,S) where S is a character string made from one element from any or all the following 3 columns: b blue . point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond w white v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram For example, PLOT(X,Y,'c+:') plots a cyan dotted line with a plus at each data point; PLOT(X,Y,'bd') plots blue diamond at each data point but does not draw any line. PLOT(TBL,XVAR,YVAR) plots the variables xvar and yvar from the table tbl. To plot one data set, specify one variable for xvar and one variable for yvar. To plot multiple data sets, specify multiple variables for xvar, yvar, or both. If both arguments specify multiple variables, they must specify the same number of variables PLOT(TBL,YVAR) plots the specified variable from the table against the row indices in the table. If the table is a timetable, the specified variable is plotted against the row times from the timetable. PLOT(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...) combines the plots defined by the (X,Y,S) triples, where the X's and Y's are vectors or matrices and the S's are strings. For example, PLOT(X,Y,'y-',X,Y,'go') plots the data twice, with a solid yellow line interpolating green circles at the data points. The PLOT command, if no color is specified, makes automatic use of the colors specified by the axes ColorOrder property. By default, PLOT cycles through the colors in the ColorOrder property. For monochrome systems, PLOT cycles over the axes LineStyleOrder property. Note that RGB colors in the ColorOrder property may differ from similarly-named colors in the (X,Y,S) triples. For example, the second axes ColorOrder property is medium green with RGB [0 .5 0], while PLOT(X,Y,'g') plots a green line with RGB [0 1 0]. If you do not specify a marker type, PLOT uses no marker. If you do not specify a line style, PLOT uses a solid line. PLOT(AX,...) plots into the axes with handle AX. PLOT returns a column vector of handles to lineseries objects, one handle per plotted line. The X,Y pairs, or X,Y,S triples, can be followed by parameter/value pairs to specify additional properties of the lines. For example, PLOT(X,Y,'LineWidth',2,'Color',[.6 0 0]) will create a plot with a dark red line width of 2 points. Example x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10) See also PLOTTOOLS, SEMILOGX, SEMILOGY, LOGLOG, PLOTYY, PLOT3, GRID, TITLE, XLABEL, YLABEL, AXIS, AXES, HOLD, LEGEND, SUBPLOT, SCATTER. Documentation for plot doc plot Other uses of plot alphaShape/plot antenna/plot backscatterBicyclist/plot backscatterPedestrian/plot Battery.Parameters/plot Battery.Pulse/plot Battery.PulseSequence/plot BayesianOptimization/plot blm/plot cfit/plot cgv.CGV/plot clusterDBSCAN.clusterDBSCAN/plot clustergram/plot clustering.evaluation.CalinskiHarabaszEvaluation/plot comm.CCDF/plot comm.MemorylessNonlinearity/plot conjugateblm/plot cuboidModel/plot customblm/plot cylinderModel/plot diffuseblm/plot digraph/plot driving.heremaps.LaneTopology/plot driving.Path/plot drivingScenario/plot dspdata/plot dtree/plot edwttree/plot empiricalblm/plot fairnessMetrics/plot fints/plot frd/plot graph/plot HeatMap/plot iddata/plot idnlarx/plot idnlhw/plot imageviewset/plot InflationCollisionChecker/plot KAZEPoints/plot lassoblm/plot LayerGraph/plot LeastSquaresResults/plot lime/plot LinearModel/plot matlab.buildtool.Plan/plot mixconjugateblm/plot mixsemiconjugateblm/plot mpc/plot MSERRegions/plot NLMEResults/plot ntree/plot opc.hda.Data/plot opticalFlow/plot parkingSpace/plot pathPlannerRRT/plot pcviewset/plot phased.FMCWWaveform/plot phased.LinearFMWaveform/plot phased.MFSKWaveform/plot phased.PhaseCodedWaveform/plot phased.RectangularWaveform/plot phased.SteppedFMWaveform/plot phytree/plot planeModel/plot polyshape/plot predmaint/plot prob.NormalDistribution/plot propagationData/plot pulseWaveformLibrary/plot RepeatedMeasuresModel/plot rfchain.rfchain/plot rfpcb/plot roadrunnerHDMap/plot rocmetrics/plot ros/plot rwvtree/plot SE3/plot semiconjugateblm/plot sfit/plot shapley/plot SimBiology.fit.ParameterConfidenceInterval/plot SimBiology.fit.PredictionConfidenceInterval/plot SimBiology.gsa.ElementaryEffects/plot SimBiology.gsa.MPGSA/plot SimBiology.gsa.Sobol/plot simscape.logging.Node/plot simscape.logging.Series/plot simscape.logging/plot Simulink.sdi.DatasetRef/plot Simulink.SimulationData.Dataset/plot Simulink.SimulationData.Parameter/plot slrealtime.ProfilerData/plot tall/plot timeseries/plot umargin/plot vehicleCostmap/plot wavelet/plot wdectree/plot wvtree/plot
Here is an example:
% Type out the line equations, and follow the rules (in MATLAB)
x = 0.3:0.01:1.2;
y1 = - 17.9*x.^6 + 89.1*x.^5 - 181.7*x.^4 + 194.5*x.^3 - 115.5*x.^2 + 36.2*x + 95.3;
y2 = - (4e-2)*x + 1e2;
% Plot the curves (Google serach the functions for details)
plot(x, [y1; y2])
grid on
xlabel('X')
ylabel('Y')
title('TITLE')
legend('y_1', 'y_2')

Sarvesh Kale
Sarvesh Kale 2023-2-1
Assuming that you want to plot the equations visible in the graph, following lines of code does exactly what you want
syms x % create symbolic object
y1 = (-0.0405)*x + 100 ; % defining equations
y2 = -17.92*(x^6) + 89.144*(x^5) - 181.75*(x^4) + 194.52*(x^3) -115.49*(x^2) +36.209*(x) + 95.28 ;
y3 = -0.152*(x^4) + 0.516*(x^3) - 0.6428*(x^2) + 0.347*x + 99.9 ;
figure ; % creates a figure
fplot(y1) ;
hold on ; % this enables us plotting multiple lines on same plot
fplot(y2) ;
fplot(y3) ;
xlim([0.3, 1.20]); % readjusting limits according to requirement
ylim([99.72 100]); % readjusting limits according to requirement
% name Axes
xlabel('Stream Flowrate(t/h)');
ylabel('Percentage(%)');
If this answers your queries please accept the answer as answered.

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by