Matlab - quitar notacion cientifica

 
Vista:

quitar notacion cientifica

Publicado por emilio (52 intervenciones) el 03/05/2011 18:14:37
Hola amigos:

Lo que necesito hacer es que cuando un numero sea muy grande por ej. >10^2 tome el numero y lo divida por su orden de magnitud ejemplo:

si M es una matriz de nXm elementos lo que quiero es que si el elemento M(10,20) =2,5*10^25 ponga M(10,20)=2,5;

sería algo asi
for i=1:n
for j=1:m
if M(i , j )>10^2

M( i, j )=m( i, j)/orden de magnitud
end
end
end

osea :

En vez de M(2,3)=3,565778236*10^56 ponga M(2,3)=3,565778236;
ó

En vez de M(100,89)=5,897665*10^2 ponga M(100,89)=5,897665;


alguna ayuda de como hacer pq no se me ocurre nada

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

quitar notacion cientifica

Publicado por emilio (52 intervenciones) el 03/05/2011 18:27:47
Ya lo tengo :)

se me acaba de ocurrir,

for l=1:m
for ll=1:n

if abs(M( l, ll )) > 10^2

lu=0;
while abs(M( l, ll ))>10^lu%% el abs es para que haga lo mismo con las cantidades negativas
lu=lu+1;
end

M(l,ll)=M(l,ll)/(10^( lu-1) );

end

end
end


espero q alguien le sirva o si tiene una idea mejor se agradecerá
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar