Trends are statistically significant or not
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have the p-values for each pixel in idanom_trend_per_winter(:,:), and i am checking which areas show statistically significant values in my dataset. So put the NaN's and values less than 0.05(the default value of alpha, i am using R2012b) as NaN, and plot the results
for ii = 1:361,
for jj = 1:361
if ((idanom_trend_per_winter(:,:) > 0.05) | (isnan(idanom_trend_per_winter(:,:))))
sgt(ii,jj) = NaN;
else
sgt(ii,jj) = idanom_trend_per_winter;
end
end
end
_ Error Subscripted assignment dimension mismatch._
0 commentaires
Réponse acceptée
David Barry
le 15 Déc 2016
Modifié(e) : David Barry
le 15 Déc 2016
Presumably instead of:
if ((idanom_trend_per_winter(:,:) > 0.05) | (isnan(idanom_trend_per_winter(:,:))))
sgt(ii,jj) = NaN;
else
sgt(ii,jj) = idanom_trend_per_winter;
end
You meant:
if ((idanom_trend_per_winter(ii,jj) > 0.05) | (isnan(idanom_trend_per_winter(ii,jj))))
sgt(ii,jj) = NaN;
else
sgt(ii,jj) = idanom_trend_per_winter(ii,jj);
end
Anyway, you can do all of this without the need for a loop. I am assuming sgt is meant to be the same size as idanom_trend_per_winter but with the substituted values, so:
sgt = idanom_trend_per_winter;
sgt(idanom_trend_per_winter < 0.05 | isnan(idanom_trend_per_winter)) = NaN;
Oh and also, you said less than 0.05 in your description but your code is checking for greater than.
Plus de réponses (1)
Image Analyst
le 15 Déc 2016
This: "idanom_trend_per_winter(:,:) > 0.05" is going to give you a 2-D array, not a single number like you might be expecting. Use all() or any() depending on how you want to handle that case.
0 commentaires
Voir également
Catégories
En savoir plus sur Regression 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!