unsure about using the hold on funciton
Show older comments
hi, i'm still new to matlab and im unsure of how to use the hold on command.
After running the code, i'd like to produce a graph with multiple results from my code but im unsure how to use the hold on function (ie; where to put within the code)
(mulitple results as in, i'm using the limits from 0-9, 9-15 etc as listed in the above code as t and the equations x1 thru 10.
t = 0:0.1:9;
N = length(t)-1;
y = (-(1.37)*t.^2)+6000; %eqn 1
%Spline Equations
%The equations are substituted into the code.
%y1 (-(1.37)*t.^2)+6000; 0<=t<=9 0:0.1:9;
%y2 (0.943*(t-9).^2)-(24.99*t+6113.91); 9<=t<=15 9:0.1:15;
%y3 (-(0.6054)*(t-15).^2)-((13.34*t)+5975.1); 15<=t<=39 15:0.1:39;
%y4 (-(6.1557)*(t-39).^2)-((960.74*t)+7254.97); 39<=t<=49 39:0.1:49;
%y5 (5.622*(t-49).^2)-((183.8*t)+12673.95); 49<=t<=57 49:0.1:57;
%y6 (2.4008*(t-57).^2)-((93.89*t)+7903.9); 57<=t<=69 57:0.1:69;
%y7 (-(12.91)*(t-69).^2)-((36.27*t)+4273.63); 69<=t<=74 69:0.1:74;
%y8 (3.091*(t-74).^2)-((92.92*t)+8324.598); 74<=t<=81 74:0.1:81;
%y9 (0.2117*(t-81).^2)-((49.64*t)+4969.84); 81<=t<=96 81:0.1:96;
%y10 (-(5.0625)*(t-96).^2)-((43.28*t)+4407.744); 96<=t<=100 96:0.1:100
% The unknowns are 3*N with ao=0 "Linear Spline"
% Filling Matrix from point matching
V = [0;zeros(2*N,1);zeros(N-1,1)];
Z = zeros(length(V),length(V));
j=1;
f=1;
for i=2:2:2*N
Z(i,f:f+2) = [t(j)^2 t(j) 1];
V(i) = y(j);
j = j+1;
Z(i+1,f:f+2) = [t(j)^2 t(j) 1];
V(i+1) = y(j);
f = f+3;
end
% Filling Matrix from smoothing condition
j=1;
l=2;
for i=2*N+2:3*N
Z(i,j:j+1) = [2*t(l) 1];
Z(i,j+3:j+4) = [-2*t(l) -1];
j = j+3;
l = l+1;
end
% Adjusting the value of a1 to be zero "Linear Spline"
Z(1,1)=1;
% Inverting and obtaining the coeffiecients, Plotting
Coeff = Z\V;
j=1;
for i=1:N
curve=@(l) Coeff(j)*l.^2+Coeff(j+1)*l+Coeff(j+2);
ezplot(curve,[t(i),t(i+1)]);
hndl=get(gca,'Children');
set(hndl,'LineWidth',2);
j=j+3;
end
scatter(t,y,50,'r','filled')
figure (1)
title('Quadratic Spline')
xlim([min(t)-2 max(t)+2]);
ylim([min(y)-2 max(y)+2]);
xlabel('x');
ylabel('y');
grid on
grid minor
hold on
i placed a hold on at the end but i am not able to collate the results on one graph.
any help would be appreciated!
thank you!!
1 Comment
Adam
on 19 Mar 2019
You should get into the habit of always using the full syntax for hold and plotting instructions, with an explicit axes handle, e.g.
figure; hAxes = gca;
plot( hAxes,... )
hold( hAxes, 'on' )
scatter( hAxes,...)
Accepted Answer
More Answers (0)
Categories
Find more on Polynomials 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!