Funciones y polinomios en Matlab
Pueden construirse directamente en la ventana de comandos utilizando las funciones anónimas.
Función Salida
f=@(variables)expresión Almacena en f la función definida en expresión, utilizando como
variables independientes las que aparecen en variables
Ejemplo:
1.- f=x^2, en MatLab sería:
f=@(x)x.^2
puede evaluarse sobre escalares y matrices:
>> f(3)
ans=
9
f([1 2 3])
ans =
1 4 9
2.- f(x)= x2-4x+7, en MatLab se escribe:
>> f=@(x)x.^2-4*x+7, si se evalúa por el vector [5 10], sería:
>> f([5 10])
ans =
12 67
Si se evalúa con los valores de la matriz [1 2; 3 4], sería:
>> f([1 2; 3 4])
ans =
4 3
4 7
3.- f(x)=3x4+x2-5x+3
En MatLab sería:
>> f=@(x)3*x.^4+x.^2-5*x+3
f =@(x)3*x.^4+x.^2-5*x+3
Evaluando con el vector [ 2 5 7 1]:
>> f([ 2 5 7 1])
ans =
45 1878 7220 2
4. - g(x) = (x-1)1/2
g=@(x)(x-1).^(1/2)
g =
@(x)(x-1).^(1/2)
Evaluando con el vector [2 3 4]
>> g([2 3 4])
ans =
1.0000 1.4142 1.7321
Ejercicios:
1.- , evaluar con (1 3; 2 1 )
2.- , evaluar con (4 3; 2 1)
3.- , evaluar con(30 45 90)
4.- , evaluar con (45 60 90)
5.- , evaluar en (1 2 3)
6.- f(x)=logx3, evaluar en (1 2 3)
Soluciones:
1.- >> f=@(x)(9-x^2 ).^(1/2)
f =
@(x)(9-x^2).^(1/2)
>> f([1 3; 2 1])
ans =
1.4142 1.7321
2.2361 1.4142
2.- >> f=@(x)((x^2-4)).^(1/2)
f =
@(x)((x^2-4)).^(1/2)
>> f([4 3; 2 1])
ans =
1 32 4
3.- y=@(x)tand(2*x)
y =
@(x)tand(2*x)
>> y([30 45 90])
ans =
1.7321 Inf 0
4.- >> y=@(x)(2*cosd(2*x))
y =
@(x)(2*cosd(2*x))
>> y([45 60 90])
ans =
0 -1.0000 -2.0000
5.- >> f=@(x)(1+log10(3*x))
f =
@(x)(1+log10(3*x))
>> f([1 2 3])
ans =
1.4771 1.7782 1.9542
6.- >> f=@(x)log10(x.^3)
f =@(x)log10(x.^3)
>> f([1 2 3])
ans =
0 0.9031 1.4314
Polinomios
Suma
Se suman los coeficientes del mismo grado
Ejm:
1.- f(x)=3x2+4x-1
g(x)=5x5-4x4
suma =5x5-4x4+3x2+4x-1
En MatLab:
f =
0 0 0 3 4 -1
>> g= [5 -4 0 0 0 0]
g =
5 -4 0 0 0 0
>> suma=f+g
suma =
5 -4 03 4 -1
2.- h(x)= --7x6+3x3+4x2+x-2
p(x)= 6x6+4x5-x3+2x2+2x-1
s= -x6+4x5+2x3+6x2+3x-3
En MatLab:
h =
-7 0 0 3 4 1 -2
>> p=[6 4 0 -1 2 2 -1]
p =
6 4 0 -1 2 2 -1
>> h+p
ans =
-1 4 0 2 6 3 -3
Resta
Es la suma de un polinomio más el opuesto del otro
Ejm:
1.- p(x)= x2+2x-1q(x)= 3x4-x2+6x
p(x)-q(x)= -3x4-2x2-4x-1
En MatLab:
p =
0 0 1 2 -1
>> q=[ 3 0 -1 6 0]
q =
3 0 -1 6 0
>> p-q
ans =
-3 0 2 -4 -1
Multiplicación
Se usa la propiedad de la potenciación que dice que, al multiplicar dos potencias con igual base, se obtiene otra potencia, con la misma base y con exponenteigual a la suma de los dos exponentes. Por otra parte, los coeficientes de los monomios se multiplican.
Ejm:
1.- p(x)= -2x5+3x2-1
q(x)= 6x+2
p(x)*q(x)= -12x6-4x5+18x3+6x2-6x-2
En MatLab:
>> conv([-2 0 0 3 0 -1], [6,2])
ans =
-12 -4 0 18 6 -6 -2
2.- a(x)=-3x4+2x3
b(x)=x2-x+1
a(x)+b(x)= 3x6-x5+x4+2x3
En MatLab:
>>conv([3 2 0 0 0],[1 -1 1])
ans =
3 -1 1 2 0 0 0
División
Esta operación se puede hacer siempre que el grado del divisor sea menor o igual al grado del dividendo.
[c,R]= deconv(p,q) : divide p por q y devuelve en c el cociente y en R el resto de la división.
Por ejemplo:
p(x)= x5-5x y q(x)= x2
p(x)=x3x2-5x, por lo tanto el cociente es x3 y el resto es...
Regístrate para leer el documento completo.