Criar um método que calcula o produto escalar de dois vetores.
Sera que alguem pode me ajudar???
-O método deve receber os dois vetores como argumentos. Os vetores devem ser listas de 3 elementos de tipo double
-O método deve retornar o produto escalar, que é uma variável de tipo double também.
B) MULTIPLICAÇÃO DE VETOR POR OUTRO VETOR RESULTANDO UM ESCALAR.
Esta multiplicação é denominada Produto Escalar
Dados dois vetores u e v , define-se o produto escalar desses vetores como segue:
u . v = u . v . cos b
onde u e v são os módulos dos vetores e b o ângulo formado entre eles.
Agora da uma googlada!
Fazer a lição de casa é mancada!
O produto interno de vetores é também conhecido como produto escalar.
Sejam os vetores u = (a, b) = a i + b j e v = (c, d) = c i + d j
Vamos multiplicar escalarmente os vetores u e v .
u.v = (a i + b j).(c i + d j) = ac i.i + ad i.j + bc j.i + bd j.j
Essa ideia tb vale para vetores no plano R³, isto é, com 3 coordenadas (x,y,z).
Ai para implememtar vc usa um for simples e dois vetores como parametro. Coisa simples d+.
Ai pessoal, valeu consegui fazer olha soh como ficou!!!
import java.awt.*;
public class ProdutoEscalarFrame extends Frame{
public static void main( String args[] ){
double a[], b[];
a = new double[ 3 ];
b = new double[ 3 ];
for( int i = 0; i < 3; i++ ){
a[ i ] = Double.valueOf( args[ i ] ).doubleValue();
b[ i ] = Double.valueOf( args[ i + 3 ] ).doubleValue();
}
new ProdutoEscalarFrame( a, b );
}
public ProdutoEscalarFrame( double a[], double b[] ){
setLayout( new GridLayout( 5, 2 ) );
add( new Label( "Vetor a", Label.CENTER ) );
add( new Label( "Vetor b", Label.CENTER ) );
for( int i = 0; i < 3; i++ ){
add( new Label( String.valueOf( a[ i ] ), Label.CENTER ) );
add( new Label( String.valueOf( b[ i ] ), Label.CENTER ) );
}
add( new Label( "Produto:", Label.CENTER ) );
add( new Label( String.valueOf( produto( a, b ) ),
Label.CENTER ) );
setSize( 200, 400 );
setVisible( true );
}
private double produto( double a[], double b[] ){
double res = 0.;
for( int i = 0; i < 3; i++ ){
res += a[ i ] * b[ i ];
}
return res;
}
}
Valeu pela Ajuda!!!
Sempre q consueguir resolver meus problemas respondo, para poder ajudar aprendizes, como eu!!!
pois é… eu e mais alguns outros membros consideram consideram isso q vc fez algo como uma “boa pratica” de participação de foruns… quando vc conseguiu resolve vc dexo a resposta ai para caso alguem precise no futuro…
o problema é as pessoas que ja dão uma resposta pronta e mastigada… eu tb ainda to no caminho, to aprendendo ainda assim como vc, apesar de ja estar nesse mundo a um tempinhu ja… pra quem ja sabe a resposta, pode até ser mais facil as vezes da a resposta pronta, mais ai vc não ta ajudando de verdade a pessoa, de uma forma até imediata sim, mais a longo prazo não… tipo a historia do dar o peixe e esinar a pescar…
infelizmente o forum tem mta ocorrencia ainda de gente kerendo tudo mastigado, gente kerendo que resolvam os exercicios deles…esse tipo de coisa… a comunidade geral crio uma certa raiva disso…
Concordo que estudando em casa é mais difícil, mas a gente aprende a se virar, apesar de que uma mãozinha quando vocẽ está numa época em que precisa aprender e treinar sua lógica, ou aprender coisas novas, para se inserir mais rapidamente no mercado, como no meu caso que já terminei faculdade há muito tempo e trabalhei com Cobol nos últimos 6 ou 7 anos, pois mesmo “colando aqui”, a gente acaba provando lá. Por isso é bom obter algumas ajudas em aprendizado. Não quer dizer que tenha não feito sozinho outras coisas. Os dois lados têm suas opiniões, que devem ser respeitadas.