Red de conocimiento informático - Conocimiento informático - Ayuda a escribir un pequeño programa en Matlab

Ayuda a escribir un pequeño programa en Matlab

Los cursos de informática de modelado matemático de nuestra escuela también tienen programas Mathlab. Vea si hay algo que esté buscando a continuación.

Una operación básica

1 Buscar

Ingrese (12 2*(7-4))/3^2 para ejecutar

2 Ingrese x = (5*2 1.3-0.8)*10^2/25 para ejecutar

Luego ingrese y= 2*x 1 para ejecutar

3 Ejecute el comando clear. Resultados de la observación

4 Calcula el área del círculo Área =, radio r = 2, puedes escribir

r=2; /p>

P: ¿Cuál es la diferencia entre agregar un punto y coma al final de una declaración y no agregar un punto y coma? Pruébelo

5 funciones de uso común

Significado del nombre Significado del nombre

exponente seno seno exp con base E

cos coseno log Logaritmo natural

logaritmo tangente log10 a base 10

cot cotangente logaritmo log2 a base 2

asin arco seno abs valor absoluto

cot p>

acos coseno inverso

Ejemplo: 1) Ejecutar y = sin(10)*exp(-0.3*4^2)

2) El valor que deseas para calcular

Ingrese y1=2*sin(0.3*pi)/(1 sqrt(5)) para ejecutarlo

Si desea calcular nuevamente, simplemente puede usar el operación: presione la tecla á primero. Aparecerá el comando y1=2*sin(0.3*pi)/(1 sqrt(5)) ingresado arriba, luego mueva el cursor y cambie y1 a y2; Es decir

y2=2*cos(0.3*pi)/(1 sqrt(5)) y luego ejecutarlo.

El sistema tiene por defecto 4 dígitos significativos. Si desea mejorar la precisión, puede hacer lo siguiente:

digits(10); ejecutarse para tener una precisión de 10 decimales, también puede cambiar 10 a otros experimentos digitales

Dos operaciones matriciales

1 para obtener la matriz,

Puedes ingresar A = ejecutar y observar los resultados

p>

También puedes ingresarlo en líneas separadas

A=

El efecto es el mismo

2 Tenga en cuenta que la declaración después del número es un comentario y no es necesario ingresarla durante la práctica

gt;gt;a= matriz unidimensional

gt;gt;a(3) El tercer elemento de a

ans =

6 x =

x=y(3:5) x es un nuevo vector compuesto por el tercer al quinto elemento de y

o x=)

5 Matriz de entrada x=

Ingrese los siguientes comandos en secuencia y ejecútelos Observa los resultados. ¿Cuáles son las funciones de cada comando?

max(x)

min(x) (P: ¿Cómo obtener los valores mínimo y máximo de toda la matriz?)

)

6 MATLAB también puede agregar varias anotaciones y procesamiento a los gráficos: (consulte la tabla anterior)

xlabel('x-axis'); >ylabel('eje y'); anotación del eje y

title('función coseno'); título del gráfico

legend('y = cos(x)'); annotation

gtext('y = cos(x)'); Anotación gráfica, use el mouse para ubicar la posición de la anotación

cuadrícula en; >7 Dibujar una elipse

a = [0:pi/50:2*pi]'; Ángulo

X = cos(a)*3;

Y = pecado(a)* 2;

plot(X, Y

xlabel('x'), ylabel('y'); >

title('ellipse')

8 Dibuja la curva de la función cuando 0 ≤ x ≤ 1.

x=0:0.1:1

y=x.*exp(-x) ¿Por qué usamos la aritmética de puntos? ¿Qué pasará si no lo usas?

plot(x, y), xlabel('x'), ylabel('y'), title('y=x*exp(-x )')

9 Dibuje la curva de oscilación amortiguada y su envolvente. El rango de valores de t es [0, 4π].

t=0:pi/50:4*pi;

y0=exp(-t/3

y=exp(-t/); 3).*sin(3*t);

plot(t,y,'-r',t,y0,':b',t,-y0,':b') -r representa la línea continua roja, :b representa la línea de puntos azul, consulte la tabla anterior

cuadrícula

10 Establezca varios sistemas de coordenadas en la misma pantalla, use subplot(m, n, p) comando; dividir una pantalla en m × n áreas gráficas, p representa el número de área actual y dibujar una imagen en cada área, como

x=linspace(0, 2*pi, 30) ; y=sin(x); z=cos(x);

u=2*sin(x).*cos(x); ;

subtrama(2, 2, 1), trama(x, y), eje([0 2*pi -1 1]), título('sin(x)')

subtrama(2, 2, 2), trama(x, z), eje([0 2*pi -1 1]), título('cos(x)')

subtrama ( 2, 2, 3), plot(x, u), axis([0 2*pi -1 1]), title('2sin(x)cos(x)')

subplot( 2 , 2, 4), plot(x, v), axis([0 2*pi -20 20]), title('sin(x)/cos(x)')

Tridimensional gráficos

11 espiral tridimensional:

t=0: pi/50: 10*pi

plot3(sin(t), cos(t ), t) Ecuación paramétrica

grid Agregar grid

12 t=linspace(0, 20*pi, 501); (t), t.*cos(t), t); tenga en cuenta que el producto escalar

También puede dibujar dos curvas al mismo tiempo. El formato es similar al caso bidimensional. No daré un ejemplo.

13 Usa el comando malla para dibujar una superficie

Dibuja una malla tridimensional formada por funciones:

a=linspace(-2, 2, 25 ); Toma 25 puntos de (-2, 2) en el eje x

b=linspace(-2, 2, 25); Toma 25 puntos en el eje y

[x, y]=meshgrid(a, b); x e y son matrices de 21x21

z=x.*exp(-x.^2-y.^2); valor, z también es una matriz de 21x21

mesh(x, y, z); dibuja un diagrama de malla tridimensional

14 El uso de surf y mesh es similar:

a=linspace (-2, 2, 25); Toma 25 puntos en el eje x

b=linspace(-2, 2, 25); axis

[ x, y]=meshgrid(a, b); x e y son matrices de 21x21

z=x.*exp(-x.^2-y. ^2); Calcula el valor de la función, z también es una matriz de 21x21

surf(x, y, z) Dibuja un diagrama de superficie tridimensional

Cuatro programación

1 Archivo M: arriba Todas las operaciones se realizan ingresando uno, dos o tres comandos en la ventana de comandos, luego ejecutándolos, luego ingresándolos nuevamente y luego ejecutándolos nuevamente, de manera conversacional. Esto puede resultar inconveniente si se necesitan muchos comandos para resolver un problema. En este momento, colocamos todos los comandos para resolver un determinado problema en un documento, le asignamos un nombre y lo guardamos. Luego simplemente ingrese el nombre del documento en la ventana de comandos y ejecútelo.

Ejemplo: (1) Escribir un documento: haga clic en el icono en el extremo izquierdo de la ventana de comandos de MATLAB, lo que significa crear un nuevo archivo, para abrir el editor de archivos de MATLAB. Los usuarios pueden escribir programas en la ventana en blanco. Por ejemplo, ingrese el siguiente programa:

x=linspace(0, 2*pi, 20

y=sin

plot); (x, y, 'r ')

title('gráfico 2D')

(2) Haga clic en Guardar en la barra de herramientas encima del editor de archivos y asígnele un nombre (por ejemplo, nombre el programa de arriba como en la imagen) y guárdelo. Un archivo escrito en el editor de archivos MATLAB como este se denomina archivo M.

(3) Ejecutar: i) Ingrese el nombre del archivo (como la imagen de arriba) en la ventana de comandos y luego ejecute.

ii) O busque directamente depurar (es decir, depurar) en la barra de herramientas encima del editor de archivos, haga clic, luego busque ejecutar (es decir, ejecutar) y haga clic nuevamente.

Los estudiantes pueden poner algunos de los problemas de dibujo anteriores en el editor de archivos y hacerlo nuevamente.

2 Escribe tus propias funciones: algunas funciones que usamos frecuentemente, como sin, cos y exp, son funciones proporcionadas por el propio software MATLAB, por lo que se pueden aplicar directamente, pero a veces necesitamos resolverlas. algunos problemas Necesita escribir la función usted mismo. Hay dos requisitos básicos para escribir funciones usted mismo i) Debe escribirse en el editor de archivos MATLAB. ii) El nombre de la función y el nombre del archivo deben ser el mismo. Ejemplo: escribir una función para calcular f(1)f(2) f2(3)

(1) Abra el editor de archivos MATLAB e ingrese

función Y= fun1(x) significa que Y es la función de x, x es la variable independiente y fun1 es el nombre de la función

Y=(x^3 - 2*x^2 x - 6.3)/(x^2 0.05* x - 3.14);

Luego guarda.

Nota: Debes escribir función antes de la función que escribes, indicando que esta es una función que tú definiste. fun1 representa el nombre de la función, por lo que el nombre del archivo final también debe llamarse fun1.

(2) De esta manera, puede usar la función fun1 en la ventana de comandos como sin y cos, como por ejemplo: ingrese gt en la ventana de comandos; ( 3)*fun1(3) El resultado es:

ans =

-12.6023

3 declaración de bucle for (la declaración for aquí es la misma que la declaración for en lenguaje C Las declaraciones son diferentes y deberían ser más simples)

Ejemplo: un ejemplo simple de bucle for.

for i=1:10; i toma 1, 2,...10, en secuencia.

x(i)=2*i; Instrucción

end; indica el final del ciclo. Cada for debe corresponder a un final

x, lo que requiere que el valor de la matriz x se muestre después de la ejecución.

Observe los resultados después de ingresarlos y experimente el efecto de la declaración for.

Nota: En MATLAB (también en lenguaje C), la función significa enviar el valor del lado derecho del signo igual a la variable de la izquierda, lo cual es diferente del significado de igualdad en matemáticas. . Los siguientes ejemplos deben entenderse de esta manera, de lo contrario no podrá comprender el significado del programa.

4 sentencias de bucle while

Ejemplo: secuencia de Fibonacci: 1, 1, 2, 3, 5, 8,... Es decir: , (1, 2, 3.. .) Ahora requiere esto El primer elemento de la matriz mayor que 10000.

a(1)=1; a(2)=1; i=2

mientras a(i)lt;=10000

a( i 1)=a(i-1) a(i);

i=i

fin

i, a(i),

5 (1) declaración if-end, por ejemplo:

costo=10; número=12

if númerogt; p >sumas=número*0.95*costo;

fin,

sumas

(2) declaración if-else-end, por ejemplo:

costo=10; número=5; Cambie el valor inicial del número y vea la diferencia en el resultado

if númerogt; ;

else sums=number*0.5*cost;

end,

sumas

6 Ejemplo: use la instrucción de bucle for para encuentre el número de secuencia de Fibonac Un elemento mayor que 10000.

n=100; a=ones(1,n); a es una matriz con una fila y todos los elementos en la columna n son 1

para i=3: n

a(i)=a(i-1) a(i-2);

si a(i)gt;=10000

a(i) ,

break; significa salir del bucle

end;

end, i

7 Ejercicio: Libro de texto página 264, Consulte el lado derecho del diagrama de flujo del Ejemplo 4 11.4, programe para resolver el Ejemplo 4, establezca el error usted mismo y compárelo con los resultados del libro.

Cinco ajustes e interpolación

Función de interpolación y ajuste de curvas

polyfit(x, y, n) describe el polinomio de orden n y=f(x) para ajuste de curva de mínimos cuadrados

interp1(x, y, xo) interpolación lineal unidimensional

interp1(x, y, xo, ' spline ') interpolación spline cúbica unidimensional

interp1(x, y, xo, 'cubic') Interpolación cúbica unidimensional

interp2(x, y, Z, xi, yi) Interpolación lineal bidimensional

interp2(x, y, Z, xi, yi, 'cubic') interpolación tridimensional bidimensional

1 interpolación

Ver página 266 del libro de texto § 11.2 Primer párrafo, comprenda qué es la interpolación.

Ejemplo: Considere el siguiente problema. En 12 horas, la temperatura exterior se mide una vez por hora. Los datos son los siguientes:

Tiempo: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

Temperatura: 5, 8 , 9, 15, 25, 29, 31, 30, 22, 25, 27, 24

Ahora estima la temperatura en 3,2, 4,7, etc. basándose en los datos anteriores

horas=1:12;

tiempos=[5 8 9 15 25 29 31 30 22 25 27 24]

t=interp1(horas, tiempos, [3.2, 4.7] ) Interpolación lineal de primer orden, si solo estima el valor de un punto, no es necesario agregar corchetes

Cambiar a t=interp1(horas, temps, [3.2, 4.7], ' spline'), que es interpolación spline cúbica

Si ingresa al siguiente programa, se dibujará la curva de interpolación

hours=1:12

temps; =[5 8 9 15 25 29 31 30 22 25 27 24];

h=1:0.1:12;

t=interp1(horas, temperaturas, h); 'spline' después de h es interpolación spline cúbica

plot(hours, temps, ' ', h, t)

Utilice la interpolación lineal de primer orden y la interpolación spline cúbica para realizar el Ejemplo 2 en la página 268 del libro de texto, compárelo con los resultados del libro y luego elija el curso Haga una o dos preguntas.

2 Ajuste

Consulte §11.3 en la página 270 del libro de texto, ajuste de curvas, cuál es la diferencia entre ajuste comparativo e interpolación.

Ejemplo: Dos conjuntos de datos son los siguientes:

x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1];

y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];

n=8;

p1=polyfit(x, y, n); n significa ajuste con un polinomio de orden n, n=1 significa ajuste lineal, que se conoce comúnmente como método de mínimos cuadrados

poly2sym(p1) El comando de ajuste anterior solo proporciona los coeficientes del polinomio, use este comando Luego convierta el resultado en un polinomio real. O use vpa(poly2sym(p1), 10) para tomar la forma numérica y tomar 10 cifras significativas

x1=0:.01:1 A partir de esto, las siguientes tres oraciones son para dibujar la imagen de la curva de ajuste

y1=polyval(p1, x1); esta oración es para encontrar el valor del polinomio en estos puntos de x1 y dárselo a y1

plot(x, y, 'o', x1, y1)

Cambiar el número de n, es decir, ajustarlo con diferentes polinomios para ver qué resultado es mejor.

Cuando n=10, hay grandes fluctuaciones entre los puntos de datos. Al intentar ajustar curvas de alto orden, a menudo ocurre este tipo de fenómeno de fluctuación, que no favorece nuestra comprensión de las reglas entre dos conjuntos de datos. Por lo tanto, cuanto mayor sea el orden, mejor será elegir. el apropiado.

Utilice las instrucciones anteriores para realizar el Ejemplo 1 y el Ejemplo 2 en la página 271 del libro de texto y compare los resultados con los del libro.