Finding common x values along with the corresponding y values.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mr. 206
le 26 Fév 2019
Réponse apportée : Jan
le 26 Fév 2019
I have to sets of data, First set comprises of x_exp and y_exp. And second set comprises of x_sim and y_sim. They are as follows,
x_exp=[980;1000;1020;1040;1040];
y_exp=[0.003;0.10;0.020;0.008;0.002];
x_sim=[920;940;960;980;1000;1020;1040;1040];
y_sim=[0.005;0.003;0.0010;0.0025;0.0050;0.008;0.010;0.020];
I want to find the common values between x_exp and x_sim along with the corresponding y_sim values.
The result that I expect is
x_sim=[980;1000;1020;1040;1040];
y_sim=[0.0025;0.0050;0.008;0.010;0.020];
0 commentaires
Réponse acceptée
Yasasvi Harish Kumar
le 26 Fév 2019
Hi,
Try something like this,
t = 1;
for i =1:length(x_exp)
for j = 1:length(x_sim)
if x_exp(i) == x_sim(j)
x(t) = x_sim(j);
y(t) = y_sim(j);
t = t+1;
break
end
end
end
x and y are your results.
Regards
0 commentaires
Plus de réponses (1)
Jan
le 26 Fév 2019
[match, index] = ismember(x_exp, x_sim)
result = y_sim(index(match))
A problem is the repeated value:
x_exp = [1040; 1040]
x_sim = [1040; 1040];
y_sim = [0.010; 0.020];
ismember uses the first occurrence. If you want to use a found value once only, you have to write some special code, which considers this. Then start with Yasasvi Harish Kumar's solution and overwrite a found x_sim value.
0 commentaires
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!