Pascal/Turbo Pascal - NORMA VECTOR

 
Vista:

NORMA VECTOR

Publicado por carlos (12 intervenciones) el 16/04/2012 21:12:07
Hola, tengo que hacer un programa que calcule la norma-p de un vector de tres componentes.
primero se introduce el valor p (por teclado) que define la norma, y después, las tres componentes del vector. El programa tendra que escribir por pantalla el resultado de la norma-p de dicho vector.

(hay que usar la formula de norma con el sumatorio y la raiz p-esima, mi duda es como poner eso en pascal)
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

NORMA VECTOR

Publicado por ramon (2158 intervenciones) el 18/04/2012 21:49:07
{ Me puedes aclarar lo de la norma-p de un vector de tres componentes son al guna de estas :
Normas de Holder, La norma de Frobenius, (Las normas inducidas o Norma Espectral)}
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

NORMA VECTOR

Publicado por carlos (12 intervenciones) el 19/04/2012 16:17:17
simplemente es hacer un programa con la primera formula http://es.wikipedia.org/wiki/Norma_vectorial , que aparece en ejemplos (A continuación se muestran algunos ejemplos de posibles operadores norma, que satisfacen la definición matemática general:
Para un vector se define la norma-p como: (formula que tengo que meter en el programa, la duda es mas que nada como poner la raiz p-esima). Gracias
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

NORMA VECTOR

Publicado por ramon (2158 intervenciones) el 23/04/2012 21:02:16
{Algo de esto vale}

program vector_p;
uses
crt;
const
formul : array[1..6] of string[40] = (
' ##############################',
' # # ',
'# # # ',
' # # ',
' # # ',
' # ');
var
vector : array[1..10] of integer;
norma_p : real;

function valorentrada_p : integer;
var
ba : integer;
begin
clrscr;
gotoxy(2,2);write('Entre Valor P : ');
gotoxy(18,2);readln(ba);
if ba > 9 then
ba := 9;
valorentrada_p := ba;
clrscr;
end;

function raiz(x, y : real):real;
begin
raiz := exp(ln(y) / x);
end;

procedure cargavector(dd : integer);
var
t : integer;
i, carg : longint;
dato : real;
p : longint;
begin
p := dd;
randomize;
for i := 1 to 10 do
begin
carg := random(8);
if carg <= 0 then
carg := 1;
vector[i] := carg;
carg := 0;
end;
norma_p := 0;
dato := 1;
for i := 1 to 10 do
begin
for t := 1 to p do
begin
dato := dato * vector[i];
end;
norma_p := norma_p + dato;
dato := 1;
end;
gotoxy(2,2);write('Para un Vector X = (X1,X2...Xn) se');
gotoxy(2,3);write('Define la norma-p como');
for i := 1 to 6 do
begin
gotoxy(2,4 + i);write(formul[i]);
end;
gotoxy(6,5);write('P',p);
gotoxy(13,7);write('|X1|p + |X2|p + ... + |Xn|p');
gotoxy(13,12);write(' ***** RESULTADO ES *****');
gotoxy(2,14);
write(' Contenido Vector = ');
for i := 1 to 10 do
write(' ',vector[i]);
writeln;
writeln(' Contenido Total = ',norma_p:8:2);
writeln(' Valor Norma P= ',p,' = ',raiz(p,norma_p):8:2);
end;

begin
clrscr;
cargavector(valorentrada_p);
readln;
end.
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