remove inf in quiver

2 次查看(过去 30 天)
I want quiver(X,Y,u,v), but there's inf entries in u and v at positions x=y. I'm looking for the smartest way to skip these positions with inf u and v and finish the quiver.
x=-5:0.1:5;
y=-5:0.1:5;
[X,Y]=meshgrid(x,y);

采纳的回答

Star Strider
Star Strider 2024-4-28
Without having ‘u’ and ‘v’ to work with, perhaps something like this using fillmissing (or fillmissing2) —
x=-5:0.1:5;
y=-5:0.1:5;
[X,Y]=meshgrid(x,y);
u = randn(size(X)); % Create 'u'
ix = sub2ind(size(u), 1:size(u,1), 1:size(u,2)); % Linear Inmdex To Create 'u' With Diagnonal 'Inf'
u(ix) = Inf
u = 101x101
Inf -1.4193 1.0497 -0.1100 0.2181 -2.3272 -0.1111 0.6233 -0.4594 0.1195 0.9566 -1.9244 -1.4146 -0.4970 0.0888 1.9743 0.4177 -0.6746 1.0932 1.6275 -0.3020 2.6394 0.0664 -0.9736 0.5496 0.9406 0.7607 -1.1810 0.1057 0.3238 -0.2040 Inf 1.4676 -0.4032 -0.8914 0.6347 0.2933 -0.7958 -0.5473 0.3441 -1.0796 -0.2790 -0.8720 -0.1744 1.0271 0.2945 -0.6075 -0.3061 0.9589 -0.3907 -0.1497 -0.5693 1.9353 -0.9865 1.5239 0.9541 1.2692 0.5700 0.6326 -0.2809 0.4440 0.1059 Inf -0.7628 -1.9011 0.4484 -0.6286 -0.0539 -0.9827 -0.1590 -1.1202 0.9885 -0.1086 -0.2550 0.5774 -0.3649 0.9951 0.3727 0.7720 0.5775 1.4696 -0.2848 0.2413 -0.7008 -1.0953 -1.5702 -0.5243 -0.0585 -2.2009 -2.7097 -1.1253 -0.7258 -0.8600 Inf -0.7818 0.0430 1.3831 0.4638 -1.8246 -0.5975 1.1344 -2.0120 0.3844 -1.4048 -0.7412 -0.7979 -0.3750 1.3553 -0.5779 0.0419 0.5819 1.2048 -0.7356 -0.4025 -0.4867 -2.7108 -0.5462 -0.5905 0.7864 -1.9629 0.7305 1.5534 0.0548 0.6495 Inf 0.9854 0.1087 0.1832 0.1335 2.4604 -0.5619 2.5730 0.3904 1.0272 -0.4547 1.0581 0.3803 0.3861 -0.6168 1.0308 -1.0501 1.1463 -0.4087 -0.2244 -1.0732 1.3175 -0.1320 0.2752 0.8637 -0.0700 1.5087 0.2137 -0.5525 0.6823 1.3532 Inf -0.9245 0.0744 -0.7550 -1.0429 -0.4523 0.1324 0.3328 0.8958 -0.8247 0.0939 -0.9691 -0.3163 0.4888 -0.2547 2.0617 -1.2665 -1.3080 -0.2838 0.4716 0.0971 1.3410 0.4530 -0.5502 -0.3113 -0.7899 -1.3514 1.8762 1.4511 -0.6696 0.6343 Inf 0.5961 0.5598 1.2437 0.3595 -0.3161 0.0932 1.3476 -1.0957 0.1353 0.3317 -1.3635 0.9710 1.6089 -1.9098 0.8884 0.3416 0.1062 0.8726 1.1483 -0.3553 -0.5328 -0.2019 -0.8153 0.7720 0.5451 0.7223 -1.8662 -0.6066 -0.0011 1.0699 Inf -0.3192 1.2113 -0.9188 -0.0333 -0.5733 0.0934 -0.1295 1.4446 -1.1444 1.1519 -0.9562 -0.6240 -0.0261 0.5102 -1.5159 -0.8370 0.7812 1.1397 0.1271 0.5030 -0.8183 1.9334 -1.0089 -1.5652 0.4866 -1.7667 0.1231 0.1948 -1.0970 -0.6456 Inf 0.6980 -1.0084 0.9558 -1.3121 -0.8189 -1.0246 -0.6636 -1.7755 0.1567 0.6217 -0.1159 0.8454 -0.0712 1.8066 -0.7937 0.6682 -0.0229 -1.0841 1.5203 -1.2465 -1.5232 0.1843 1.4161 1.2349 -1.0478 -0.4456 0.2213 0.2403 -0.9400 0.1554 Inf -0.4139 -1.0749 -0.7384 -1.5659 1.6817 -1.2396 -0.7250 0.3642 -0.1862 0.4102 1.0891 -0.9765 0.1297 1.0545 -0.4711 -0.9109 -1.2133 0.7924 -0.2372 -0.9673
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
u(isinf(u)) = NaN % Change 'Inf' To 'NaN'
u = 101x101
NaN -1.4193 1.0497 -0.1100 0.2181 -2.3272 -0.1111 0.6233 -0.4594 0.1195 0.9566 -1.9244 -1.4146 -0.4970 0.0888 1.9743 0.4177 -0.6746 1.0932 1.6275 -0.3020 2.6394 0.0664 -0.9736 0.5496 0.9406 0.7607 -1.1810 0.1057 0.3238 -0.2040 NaN 1.4676 -0.4032 -0.8914 0.6347 0.2933 -0.7958 -0.5473 0.3441 -1.0796 -0.2790 -0.8720 -0.1744 1.0271 0.2945 -0.6075 -0.3061 0.9589 -0.3907 -0.1497 -0.5693 1.9353 -0.9865 1.5239 0.9541 1.2692 0.5700 0.6326 -0.2809 0.4440 0.1059 NaN -0.7628 -1.9011 0.4484 -0.6286 -0.0539 -0.9827 -0.1590 -1.1202 0.9885 -0.1086 -0.2550 0.5774 -0.3649 0.9951 0.3727 0.7720 0.5775 1.4696 -0.2848 0.2413 -0.7008 -1.0953 -1.5702 -0.5243 -0.0585 -2.2009 -2.7097 -1.1253 -0.7258 -0.8600 NaN -0.7818 0.0430 1.3831 0.4638 -1.8246 -0.5975 1.1344 -2.0120 0.3844 -1.4048 -0.7412 -0.7979 -0.3750 1.3553 -0.5779 0.0419 0.5819 1.2048 -0.7356 -0.4025 -0.4867 -2.7108 -0.5462 -0.5905 0.7864 -1.9629 0.7305 1.5534 0.0548 0.6495 NaN 0.9854 0.1087 0.1832 0.1335 2.4604 -0.5619 2.5730 0.3904 1.0272 -0.4547 1.0581 0.3803 0.3861 -0.6168 1.0308 -1.0501 1.1463 -0.4087 -0.2244 -1.0732 1.3175 -0.1320 0.2752 0.8637 -0.0700 1.5087 0.2137 -0.5525 0.6823 1.3532 NaN -0.9245 0.0744 -0.7550 -1.0429 -0.4523 0.1324 0.3328 0.8958 -0.8247 0.0939 -0.9691 -0.3163 0.4888 -0.2547 2.0617 -1.2665 -1.3080 -0.2838 0.4716 0.0971 1.3410 0.4530 -0.5502 -0.3113 -0.7899 -1.3514 1.8762 1.4511 -0.6696 0.6343 NaN 0.5961 0.5598 1.2437 0.3595 -0.3161 0.0932 1.3476 -1.0957 0.1353 0.3317 -1.3635 0.9710 1.6089 -1.9098 0.8884 0.3416 0.1062 0.8726 1.1483 -0.3553 -0.5328 -0.2019 -0.8153 0.7720 0.5451 0.7223 -1.8662 -0.6066 -0.0011 1.0699 NaN -0.3192 1.2113 -0.9188 -0.0333 -0.5733 0.0934 -0.1295 1.4446 -1.1444 1.1519 -0.9562 -0.6240 -0.0261 0.5102 -1.5159 -0.8370 0.7812 1.1397 0.1271 0.5030 -0.8183 1.9334 -1.0089 -1.5652 0.4866 -1.7667 0.1231 0.1948 -1.0970 -0.6456 NaN 0.6980 -1.0084 0.9558 -1.3121 -0.8189 -1.0246 -0.6636 -1.7755 0.1567 0.6217 -0.1159 0.8454 -0.0712 1.8066 -0.7937 0.6682 -0.0229 -1.0841 1.5203 -1.2465 -1.5232 0.1843 1.4161 1.2349 -1.0478 -0.4456 0.2213 0.2403 -0.9400 0.1554 NaN -0.4139 -1.0749 -0.7384 -1.5659 1.6817 -1.2396 -0.7250 0.3642 -0.1862 0.4102 1.0891 -0.9765 0.1297 1.0545 -0.4711 -0.9109 -1.2133 0.7924 -0.2372 -0.9673
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
u = fillmissing(u,'linear') % Use 'fillmissing'
u = 101x101
-0.8520 -1.4193 1.0497 -0.1100 0.2181 -2.3272 -0.1111 0.6233 -0.4594 0.1195 0.9566 -1.9244 -1.4146 -0.4970 0.0888 1.9743 0.4177 -0.6746 1.0932 1.6275 -0.3020 2.6394 0.0664 -0.9736 0.5496 0.9406 0.7607 -1.1810 0.1057 0.3238 -0.2040 -0.6567 1.4676 -0.4032 -0.8914 0.6347 0.2933 -0.7958 -0.5473 0.3441 -1.0796 -0.2790 -0.8720 -0.1744 1.0271 0.2945 -0.6075 -0.3061 0.9589 -0.3907 -0.1497 -0.5693 1.9353 -0.9865 1.5239 0.9541 1.2692 0.5700 0.6326 -0.2809 0.4440 0.1059 0.3038 -0.7628 -1.9011 0.4484 -0.6286 -0.0539 -0.9827 -0.1590 -1.1202 0.9885 -0.1086 -0.2550 0.5774 -0.3649 0.9951 0.3727 0.7720 0.5775 1.4696 -0.2848 0.2413 -0.7008 -1.0953 -1.5702 -0.5243 -0.0585 -2.2009 -2.7097 -1.1253 -0.7258 -0.8600 -0.0567 -0.7818 0.0430 1.3831 0.4638 -1.8246 -0.5975 1.1344 -2.0120 0.3844 -1.4048 -0.7412 -0.7979 -0.3750 1.3553 -0.5779 0.0419 0.5819 1.2048 -0.7356 -0.4025 -0.4867 -2.7108 -0.5462 -0.5905 0.7864 -1.9629 0.7305 1.5534 0.0548 0.6495 0.2857 0.9854 0.1087 0.1832 0.1335 2.4604 -0.5619 2.5730 0.3904 1.0272 -0.4547 1.0581 0.3803 0.3861 -0.6168 1.0308 -1.0501 1.1463 -0.4087 -0.2244 -1.0732 1.3175 -0.1320 0.2752 0.8637 -0.0700 1.5087 0.2137 -0.5525 0.6823 1.3532 0.8098 -0.9245 0.0744 -0.7550 -1.0429 -0.4523 0.1324 0.3328 0.8958 -0.8247 0.0939 -0.9691 -0.3163 0.4888 -0.2547 2.0617 -1.2665 -1.3080 -0.2838 0.4716 0.0971 1.3410 0.4530 -0.5502 -0.3113 -0.7899 -1.3514 1.8762 1.4511 -0.6696 0.6343 0.0727 0.5961 0.5598 1.2437 0.3595 -0.3161 0.0932 1.3476 -1.0957 0.1353 0.3317 -1.3635 0.9710 1.6089 -1.9098 0.8884 0.3416 0.1062 0.8726 1.1483 -0.3553 -0.5328 -0.2019 -0.8153 0.7720 0.5451 0.7223 -1.8662 -0.6066 -0.0011 1.0699 -0.0247 -0.3192 1.2113 -0.9188 -0.0333 -0.5733 0.0934 -0.1295 1.4446 -1.1444 1.1519 -0.9562 -0.6240 -0.0261 0.5102 -1.5159 -0.8370 0.7812 1.1397 0.1271 0.5030 -0.8183 1.9334 -1.0089 -1.5652 0.4866 -1.7667 0.1231 0.1948 -1.0970 -0.6456 -0.0819 0.6980 -1.0084 0.9558 -1.3121 -0.8189 -1.0246 -0.6636 -1.7755 0.1567 0.6217 -0.1159 0.8454 -0.0712 1.8066 -0.7937 0.6682 -0.0229 -1.0841 1.5203 -1.2465 -1.5232 0.1843 1.4161 1.2349 -1.0478 -0.4456 0.2213 0.2403 -0.9400 0.1554 0.8220 -0.4139 -1.0749 -0.7384 -1.5659 1.6817 -1.2396 -0.7250 0.3642 -0.1862 0.4102 1.0891 -0.9765 0.1297 1.0545 -0.4711 -0.9109 -1.2133 0.7924 -0.2372 -0.9673
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Use whatever interpolation method you want with fillmissing. There are several options.
.
  4 个评论
Star Strider
Star Strider 2024-4-29
As always, my pleasure!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Vector Fields 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by