MATLAB Quiver - Tiny Arrows

I am trying to plot the graphs of x and y using the quiver function in MATLAB.

I have arrays x, y, u and v (with their usual values) with a size of 100x100.
Thus, the result is that my portion of the quiver is dense, and I do not see the arrow if I do not zoom in.
In a way: the quiver does not draw arrows only a large number of blue, matlab

Take a look at my plot: My quiver plot

Is there a way to make the area of ​​the quiver less dense (and with large arrows)? I plan to copy the range on the x axis to 0-4. But anything besides this?

I cannot make my grid less dense for precision issues. However, I am prepared to ignore some of the subtle data points if necessary to make the plot better.

+3
source share
2 answers

You can draw a reduced number of arrows by building, for example, (if your data is in arrays)

quiver(x(1:2:end,1:2:end),y(1:2:end,1:2:end),u(1:2:end,1:2:end),v(1:2:end,1:2:end))

where 2 in this example means that we are only a quarter of the arrows. You can, of course, change it if you change all 2 so that all arrays are sized.

, . -, scale=2 , , . , , , , . , u v sqrt(u.^2+v.^2) ( , .

, .

+5

, .

:

1:0.0001:100

:

1:1:100

EDIT:

, imresize, :

newMat = imresize(oldMat, newSize); 

Toolbox, , , interp2 :

orgY = 1:size(oldMat,1); 
orgX = 1:size(oldMat,2); 
[orgX,orgY] = meshgrid(orgX ,orgY); 
newY = linspace(1,size(mat,1),newHeight); 
newX = linspace(1,size(mat,2),newWidth); 
[newX,newY] = meshgrid(newX,newY); 
newMat = interp2(orgX,orgY,mat,newX,newY);

@David, , :

xPlot=x(1:2:end)
+1

All Articles