Matlab
Temas: Números complejos, Funciones y operaciones, Funciones de usuario, Inversa de una matriz,
Ecuaciones lineales, Bucles y decisiones, Interpolar, Ajuste de curvas y polinomios, Tiempo, Gráficos,
Entrada-salida, Conversión de base, Arrays, Puesta a punto, MuPAD, Integral, Derivada, ODE
Números Complejos
>> sqrt(-1)
ans = 0 + 1.0000i % No utilizar i o jpara otras variables
Algunas operaciones:
>> c=2+3i
c = 2.0000 + 3.0000i
>> c=complex(2,3)
c = 2.0000 + 3.0000i
>> conj(c)
ans = 2.0000 - 3.0000i
>> real(c)
ans = 2
>> imag(c)
ans = 3
>> abs(c) % sqrt(real(c).^2 + imag(c).^2)
ans = 3.6056
Forma polar o exponencial responde a:
Eje imaginario
��
�� + ����
��
��
��������(��)
��
��
�������� (��)
Eje realDiagrama de Argand
Rectangular a Polar:
>> r=abs(c)
r = 3.6056
>> tetha=angle(c)
tetha = 0.9828
Exponencial a Rectangular:
>> c=r*exp(i*tetha)
c = 2.0000 + 3.0000i
Polar a Rectangular:
>> c=r*cos(tetha)+i*r*sin(tetha)
c = 2.0000 + 3.0000i
Dibujar un círculo en forma polar:
>> circle = exp( 2*i*[1:360]*pi/360 );
>>plot(circle)
>>axis('equal')
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4-0.6
-0.8
-1
-1
-0.5
0
0.5
1
Gráfica Polar:
>> theta = 0:2*pi/100:2*pi;
>>r = theta/(2*pi);
>>polar(theta,r),title('Gráfica polar con radio creciente')
Gráfica polar con radio creciente
90
1
120
60
0.8
0.6
150
30
0.4
0.2
180
0
210
330
240
300
270
Conversión de coordenadas cartesianas a polares o cilíndricas:
[THETA,RHO] =cart2pol(X,Y)
Conversión de coordenadas polares a cartesianas:
[X,Y] = pol2cart(THETA,RHO)
Funciones y operaciones matemáticas comunes
Funciones matriciales:
’ Traspuesta
[f, c]=size(x)
rand(n) Matriz de números aleatorios
eye(n) Matriz identidad
zeros(n) Matriz de ceros
ones(n) Matriz de unos
diag(n) Crea o extrae diagonales
det(x) Determinante
eig(x) Autovalores
Funcionesvectoriales:
max(x) % Cuando matriz, máximo de cada columna. Máximo de matriz: max(max(x))
min(x)
sum(x)
prod(x)
median(x) Mediana % Más funciones estadísticas: plot(x,y) y activar Tools Data Statistics
mean(x) Promedio o media
any(x) Si al menos un valor es desigual a cero
all(x) Si todos los valores son desiguales a cero
Funciones elementales:
abs(x) Módulo
sqrt(x) Raíz cuadradasign(x) El signo de x, (0 si x = 0, −1 si x < 0, y +1 si x > 0)
round(x) Se redondea al entero más cercano
fix(x) Se redondea al entero más cercano a cero
floor(x) Se redondea al entero más cercano a -∞
ceil(x) Se redondea al entero más cercano a +∞
rem(x,y) Devuelve el residuo de x/y
find(x) Indices a valores desiguales a cero
norm(x) % Norma Euclídea
Funciones Trigonométricas (Suponenángulos en radianes):
Conversión de ángulos:
ang_grados=ang_radianes*(180/pi)
ang_radianes= ang_grados*(pi/180)
sin(x)
cos(x)
tan(x)
cot(x)
sec(x)
csc(x)
Funciones Trigonométricas Inversas:
asin(x)
acos(x)
.
Funciones exponenciales y logarítmicas:
exp(x)
log(x)
()
log10(x)
()
Funciones Hiperbólicas:
sinh(x)
.
Funciones Hiperbólicas Inversas:
asinh(x)
.
Precedencia delos operadores (de mayor a menor):
Operadores aritméticos:
.’ .^ ’ ^ ~(Not) .* ./ .\ * / \ + Producto/división elemento por elemento (matrices de igual tamaño):
x.*y=[x(1)*y(1), x(2)*y(2),…,x(n)*y(n)]
x./y=[x(1)/y(1), x(2)/y(2),…,x(n)/y(n)]
Ejemplo1: Evitar división por cero
>> x=[-1:.5:1]
>> sin(x)./x
ans =
0.8415 0.9589
NaN 0.9589 0.8415
>> x = x + (x==0)*eps % eps es unaconstante ≈ 2.2e-16, representa la precisión de operaciones en MATLAB
>> sin(x)./x
ans =
0.8415 0.9589 1.0000 0.9589 0.8415
Ejemplo2: Evitar infinito
x = -3/2*pi : pi/200 : 3/2*pi;
y = tan(x);
plot(x, y)
figure;
y = y .* (abs(y) < 1e10); %Devuelve cero sólo en las asíntotas
plot(x, y)
15
6
x 10
80
60
4
40
2
20
0
0
-20
-2
-40
-4
-60
-6
-5
-4...
Regístrate para leer el documento completo.