2 unknowns in matching datasets
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Asliddin Komilov
il 25 Apr 2022
Commentato: Asliddin Komilov
il 25 Apr 2022
Hello everyone.
I have 3 sets of data and need to find "a" and "b":
Y1=a*Y2+b*Y3;
there are 2 unknowns so I would need 2 equations to solve this but maybe there is a way to solve this as is? Help please.
Thank you
0 Commenti
Risposta accettata
DGM
il 25 Apr 2022
Modificato: DGM
il 25 Apr 2022
I'm sure there are other ways, but:
load datasett.mat
% omit nans
nanmask = ~(isnan(Y1) | isnan(Y2) | isnan(Y3));
Y1 = Y1(nanmask);
Y2 = Y2(nanmask);
Y3 = Y3(nanmask);
% when overdefined, mldivide returns the least-squares solution
ab = [Y2 Y3]\Y1
That said, I'm not sure it's going to be good enough to just blindly process the data. Y1 doesn't look like the linear combination of Y2 and Y3 (at least it doesn't respond events in Y2).
Y1est = [Y2 Y3]*ab; % assume that Y1 is a linear combination
subplot(2,1,1)
plot(Y2); hold on
plot(Y3)
subplot(2,1,2)
plot(Y1); hold on
plot(Y1est)
Some sort of preprocessing is probably warranted here.
3 Commenti
DGM
il 25 Apr 2022
If the data is taken at face value, Y1 isn't a linear combination of Y2 and Y3. That should be visually apparent just by looking at the graphs.
If the underlying system is expected to be linear, then you'll have to find an appropriate way to deal with the noise events in Y1 and Y2. I'm not sure what would be appropriate. You might try omitting outliers, filling them, or smoothing them.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Contour Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!