plot within a for loop and if statment
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
i have this data of wells, where in the first column i need to sort out all the 1's in that coulmn and plot the x,y,z corresponding to that row where the 1 is. this is the code i have
b=sum(a==1);
hold on
for n=1:221
if a(n)==1
;
plot3(xTop(n),yTop(n),1:b:0'k-')
n=n+1;
end
end
the coulmn is 221 rows long and i have the vaiables for the x and y shown but the z needs to go from 1 to 0 and i cant get the legth right or something?? if this is confusing ask me more questions thank you
0 commentaires
Réponse acceptée
Image Analyst
le 10 Nov 2014
No for loop is needed.
% Find rows of "a" with 1's in the first column of "a".
rowsWith1s = a(:,1) == 1;
% Now extract them from the other arrays.
% (optional - you could do this inside plot3() if you want).
x = xTop(rowsWith1s);
y = yTop(rowsWith1s);
z = zTop(rowsWith1s);
% Now plot
plot3(x, y, z, 'bo-', 'LineWidth', 3);
% Make it fancy.
grid on;
xlabel('xTop', 'FontSize', 25);
ylabel('yTop', 'FontSize', 25);
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
4 commentaires
Plus de réponses (0)
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!