How to do the summation of two graphs?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Nadeera Gunartna
am 30 Mai 2016
Kommentiert: Star Strider
am 1 Jun. 2016
Dear Colleagues,
I have two different graphs with different Y values and x values. it is hard to predict an equation with minimum error for this graph. Is there anyway to plot the sum of following two graphs?
Graph 1=[
414.00 1.00
400.00 1.00
384.00 1.00
381.00 1.00
367.00 1.00
348.00 1.00
321.00 1.19
308.00 1.39
299.00 1.61
279.00 1.78
275.00 2.00
264.00 2.59
272.00 3.39
259.00 3.59
262.00 4.00
274.00 4.59
286.00 5.63
305.00 6.00
341.00 6.19
366.00 6.39
395.00 7.00
408.00 7.19
408.00 7.41
394.00 7.61
408.00 7.81
408.00 8.00
412.00 8.19]
Graph 2=[688.00 1.00
690.00 1.00
672.00 1.00
644.00 1.00
638.00 1.00
660.00 1.01
626.00 1.22
602.00 1.40
602.00 1.59
604.00 1.80
582.00 2.00
560.00 2.22
574.00 2.40
563.00 2.60
557.00 2.79
565.00 3.00
593.00 3.22
602.00 3.40
598.00 3.59
606.00 3.79
592.00 4.00
607.00 4.22
593.00 4.40
603.00 4.59
589.00 4.79
602.00 5.00
581.00 5.22
591.00 5.40
577.00 5.59
585.00 5.80
572.00 6.00
567.00 6.22
559.00 6.40
560.00 6.59
572.00 6.80
592.00 7.00
635.00 7.22
675.00 7.40
702.00 7.59
709.00 7.80
726.00 8.00
728.00 8.22
725.00 8.41
751.00 8.60
775.00 8.80
785.00 9.00
780.00 9.22
794.00 9.41]
1st column is Y axis and second column is x axis.
Thanks in advance.
Akzeptierte Antwort
Star Strider
am 30 Mai 2016
I don’t understand what you mean by ‘sum’. The two matrices have different numbers of elements, so you can shorten the longer one, or you can interpolate one to the x-values of the other one with interp1 (without extrapolating), but you cannot do any calculations with them as they currently exist.
What equation are you trying to fit to them?
4 Kommentare
Weitere Antworten (1)
John BG
am 31 Mai 2016
you have 2 signals
y1=[ 414.00 1.00 400.00 1.00 384.00 1.00 381.00 1.00 367.00 1.00 348.00 1.00 321.00 1.19 308.00 1.39 299.00 1.61 279.00 1.78 275.00 2.00 264.00 2.59 272.00 3.39 259.00 3.59 262.00 4.00 274.00 4.59 286.00 5.63 305.00 6.00 341.00 6.19 366.00 6.39 395.00 7.00 408.00 7.19 408.00 7.41 394.00 7.61 408.00 7.81 408.00 8.00 412.00 8.19]
y2=[688.00 1.00 690.00 1.00 672.00 1.00 644.00 1.00 638.00 1.00 660.00 1.01 626.00 1.22 602.00 1.40 602.00 1.59 604.00 1.80 582.00 2.00 560.00 2.22 574.00 2.40 563.00 2.60 557.00 2.79 565.00 3.00 593.00 3.22 602.00 3.40 598.00 3.59 606.00 3.79 592.00 4.00 607.00 4.22 593.00 4.40 603.00 4.59 589.00 4.79 602.00 5.00 581.00 5.22 591.00 5.40 577.00 5.59 585.00 5.80 572.00 6.00 567.00 6.22 559.00 6.40 560.00 6.59 572.00 6.80 592.00 7.00 635.00 7.22 675.00 7.40 702.00 7.59 709.00 7.80 726.00 8.00 728.00 8.22 725.00 8.41 751.00 8.60 775.00 8.80 785.00 9.00 780.00 9.22 794.00 9.41]
Ly1=length(y1)
Ly2=length(y2)
Ly1 =
54.00
Ly2 =
96.00
You may want to interpolate the shorter signal. The other way round is also possible, but rather than killing samples, you may choose to add them, just for the sake of, if only potentially, not losing information.
ny1 and ny2 are respective reference vectors:
ny1=[1:1:Ly1]
ny2=[1:1:Ly2]
stretch ny1 to reach ny2:
ny1_stretch=linspace(1,Ly2,Ly1)
and interpolate (linear)
y1_interp=interp1(ny1_stretch,y1,ny2)
or interpolate (cubic)
y1_interpc=interp1(ny1_stretch,y1,ny2,'spline')
Now you can combine y1_interp or y1_interpc with y2 in any vector operation or on same plot
plot(ny2,y1_interp,'Color','r','LineWidth',1.5);
hold on;plot(ny2,y2,'Color','b','LineWidth',1.5);
hold on;plot(ny2,y1_interpc,'Color','g','LineWidth',1.5);grid on
.
If you find this answer of any help solving your question,
please click on the thumbs-up vote link,
thanks in advance
John
Siehe auch
Kategorien
Mehr zu Descriptive Statistics finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!