
Dos ficheros simples que me dan error
Publicado por Tobias (3 intervenciones) el 28/10/2017 14:24:33
El enunciado del primer ejercicio es el siguiente:
"Programar una función que factorice un número entero. Por ejemplo, si le pasamos el número 24=2³x3 la función devolverá el vector [2 2 2 3]"
Y yo en mi fichero he escrito lo siguiente:
Me da el siguiente error y no consigo solucionarlo:
Index exceeds matrix dimensions.
"Error in opcional5 (line 7)
if rem(x,q(i)) ~= 0"
En el segundo ejercicio me piden lo siguiente:
"Programar una función que ordene de menor a mayor un vector pasado como argumento de entrada"
Y yo escribo:
El error es el siguiente:
Index exceeds matrix dimensions.
"Error in opcional4 (line 9)
v(k)=t(i);"
Estoy iniciándome en la programación con Matlab así que perdonad una duda que probablemente sea muy muy simple.
Muchas gracias
"Programar una función que factorice un número entero. Por ejemplo, si le pasamos el número 24=2³x3 la función devolverá el vector [2 2 2 3]"
Y yo en mi fichero he escrito lo siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
function [factors]=opcional5(x)
p = primes(x);
lp = length(p);
for i = 1:lp
if rem(x,p(i)) ~= 0
p(i) = [];
end
end
factors = p;
Me da el siguiente error y no consigo solucionarlo:
Index exceeds matrix dimensions.
"Error in opcional5 (line 7)
if rem(x,q(i)) ~= 0"
En el segundo ejercicio me piden lo siguiente:
"Programar una función que ordene de menor a mayor un vector pasado como argumento de entrada"
Y yo escribo:
1
2
3
4
5
6
7
8
9
10
11
12
13
function [xf] = opcional4(x)
t = x;
n = length(t);
xf=zeros(1,n);
for i = 1:n
if t - t(i) >= 0
for k = 1:n
v(k)=t(i);
t(i) = [];
end
end
end
El error es el siguiente:
Index exceeds matrix dimensions.
"Error in opcional4 (line 9)
v(k)=t(i);"
Estoy iniciándome en la programación con Matlab así que perdonad una duda que probablemente sea muy muy simple.
Muchas gracias
Valora esta pregunta


0