Curl function outputting -inf and NaN

2 Ansichten (letzte 30 Tage)
Spencer
Spencer am 8 Jun. 2011
Kommentiert: Robert am 16 Nov. 2023
Hello All,
I have a 2-D velocity field I am trying to calculate the curl of. My input
curlX=curl(Y,Z,V,W);
and it gives me a matrix of a bunch of -inf, inf and NaN.
if I input just curlX=curl(V,W) then it gives me a result for curl but not on the correct coordinate system. Can someone please help me with this?
-Spencer

Akzeptierte Antwort

Andrew Newell
Andrew Newell am 8 Jun. 2011
If quiver works but not curl, your coordinates may not have the correct form. They have to be monotonic, as if set up by meshgrid.
  1 Kommentar
Spencer
Spencer am 8 Jun. 2011
Thank you andrew. After you said this I went back and made a meshgrid instead of using the given grid and it now works fine. Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Sean de Wolski
Sean de Wolski am 8 Jun. 2011
Apparently you're dividing a positive number by zero (inf), a negative number by zero (-inf) and zero by zero (nan). What does your data look like?

Spencer
Spencer am 8 Jun. 2011
My data consists of 4 40*40 matrices, each matrix representing the Y, Z, V, or W coordinates and velocities respectively.. I dont know exactly what the curl function in matlab does, so I may need to look into it.
Another note: when I use quiver(YY,ZZ,VV,WW) it outputs my velocity field as it should be. So it seems like my matrices are OK.
  1 Kommentar
Andrew Newell
Andrew Newell am 8 Jun. 2011
Extra details for your question should be included as comments (like this one) or edits to your original question.

Melden Sie sich an, um zu kommentieren.


Spencer
Spencer am 8 Jun. 2011
some of my data is very small velocities i.e. e^-4, could this be the reason I am getting these small numbers, is the program carrying the small decimal places?
  1 Kommentar
Sean de Wolski
Sean de Wolski am 8 Jun. 2011
MATLAB works in double precision so it shouldn't have issues at 1e4. Unless you're dividing a very large number by 1e4.
Even:
2e200/1e4
doesn't go to inf.

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by