strange quiver3 plot
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello there!
I'm having throuble with a quiver plot. There's this M vector field I want to display over this curved ribbon callend by plotaFita( ) in the code bellow. All vectors should look the same size but it looks a lot bigger in the curve maximum. Any ideias? It's funny because when I put the zero in quiver scale I do got a field with constant norm, but it's completly different, with the arrows all over the origin of the plot.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098905/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098905/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1098910/image.png)
Omega = @(theta) 2*atan( exp( (theta-theta0)/delta ) );
Mr = @(theta) Ms*sin(fi).*sin(Omega(theta));
Mtheta = @(theta) Ms*cos(Omega(theta));
Mz = @(theta) Ms*cos(fi).*sin(Omega(theta));
Mx = @(theta) Mr(theta).*cos(theta) - Mtheta(theta).*sin(theta) ;
My = @(theta) Mr(theta).*sin(theta) + Mtheta(theta).*cos(theta) ;
XYZ = plotaFita(dr,dz,Raio,Nx,Nz); hold on;
[n,m] = size(XYZ);
X = XYZ(:,1:(m/3)); Y = XYZ(:,(m/3 + 1):(2*m/3)); Z = XYZ(:,(2*m/3+1):end);
Theta = atan(Y./X);
quiver3(X,Y,Z,Mx(Theta),My(Theta),Mz(Theta));
%quiver3(X,Y,Z,Mx(Theta),My(Theta),Mz(Theta),0);
6 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Vector Fields 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!