Un poco de experiencia usando griddata en matlab para dibujar gráficos en pseudocolor
Esto fue dibujado por mi hermano durante una prueba conjunta con otro grupo. El eje horizontal es la presión y el eje vertical es la temperatura. Es muy intuitivo ver que la transición del metal al aislante semiconductor es en función de la presión y la temperatura.
Recuerdo que era una tarde en la que el sol brillaba tanto que podía calentar a la gente. Fui a ver a mi jefe para discutir este conjunto de datos, lo que probablemente significaba que la presión de esta muestra cambió de un valor. aislante/semiconductor a un metal. El jefe sacó el dibujo que mi hermano había hecho antes y dijo que no debería ser demasiado difícil si intentas hacer un dibujo similar a este.
¿Qué debo hacer? Solo puedo empezar desde cero con matlab día a día.
Primero déjame hablar sobre mi proceso de exploración. Mis pensamientos iniciales fueron los siguientes: lo que queremos probar es la relación resistencia-temperatura probada bajo diferentes presiones y convertirla en una imagen tridimensional. Primero debemos convertirlo en Matriz, y es necesario probar diferentes presiones en diferentes rangos de temperatura, lo que significa que la matriz no se puede colocar al mismo tiempo, entonces, ¿qué debemos hacer?
Elegí la función de interpolación en igor pro para resolver este problema y escribí una pequeña macro para realizarla.
El significado general es dividir uniformemente 600 posiciones según los puntos de temperatura de entrada T1 y T2, y luego interpolar los resultados de los datos en estas 600 posiciones, porque nuestras pruebas generalmente obtienen Hay miles de puntos, por lo que el La precisión de esta simple interpolación está completamente garantizada. Deje que esta macro interpola los datos bajo diferentes presiones respectivamente, y podrá obtener los valores de resistencia correspondientes a diferentes presiones a la misma temperatura. Organice los datos de 600 * n obtenidos por interpolación bajo diferentes presiones en una fila en Excel e impórtelos a matlab para obtener la matriz. Ejecute el comando griddata para obtener los resultados.
Las coordenadas del punto de cambio de fase a más el eje a también son muy interesantes, pero hay un pequeño problema. El rango de temperatura de prueba para cada punto de presión no es exactamente el mismo. El 3,8-290 K interpolado. La imagen lo es, pero hay muchas veces. A veces, el rango de medición variará mucho, especialmente para algunos superconductores de alta temperatura, la mitad inferior de los cuales no puede ser tan ordenada, como se muestra a continuación, y usando este método aquí solo se pueden configurar manualmente los lugares sin números a 0 en la matriz, lo cual es muy problemático; además, el parámetro 'v4' no se puede usar, sino que cambia al modo spline cúbico.
Más tarde, fui a discutir con mi superior, tratando de obtener el método original de él. Después de algunas discusiones y mi propia exploración, finalmente encontré un método más general.
Primero echemos un vistazo a la descripción de griddata en matlab.
No solo puede procesar datos matriciales, sino también interpolar el conjunto de puntos de entrada (x, y, z). Entonces no se considera como una matriz, sino como una función binaria de xy correspondiente a z. Al ingresarlo, todos los datos xyz se pueden interpolar. Sin embargo, al procesar puntos, primero debemos prestar atención al hecho de que los datos originales que probamos sumaban decenas de miles de puntos. Para mejorar la eficiencia, primero podemos usar igor pro para interpolar y suavizar los datos, pero no hay nada. necesita configurar el rango de temperatura directamente Simplemente seleccione el número de puntos (600) para la interpolación y luego importe todos los datos obtenidos (600 * n) a Excel, que se dividen en tres columnas: presión, temperatura y resistencia. póngalos en matlab como tres vectores y ejecute el comando
Se puede obtener un diagrama de fase faltante completo que incluye bordes cerca de 0K y 300K. Luego simplemente agregue otros datos descriptivos.
Este método es más simple que el método anterior y tiene un alcance de aplicación más amplio. Probablemente no tendré que usar el método estúpido por el que trabajé tan duro en el futuro.
Este método es más extenso que el anterior.