用c編譯矢量類的四種運算
㈠ C語言求向量的矢量積、模、單位向量、還有判斷2個向量是否共線,在線等答案,醬油黨麻煩讓讓
//很簡單,你對照一下吧。。。#include <stdio.h>
#include <math.h>
void main()
{
int i,sum=0,p[3]={1,2,3},p1[3]={2,3,4},flag=1;
double model=0,model1=0,temp;
for(i=0;i<3;i++)
{sum+=p[i]*p1[i];
model+=p[i]*p[i];
model1+=p1[i]*p1[i];
}
model=sqrt(model);
model1=sqrt(model1);
printf("向量p,p1的積: %d\n",sum);
printf("p,p1的模為:%lf %lf\n",model,model1);
temp=p[0]/p1[0];
if((p[1]*1.0/p1[1]-temp>=1e-3) &&(p[2]*1.0/p1[2]-temp>=1e-3))
flag=0;
if(flag)
printf("兩向量共線!");
else
printf("不共線");
}
㈡ 矢量運演算法則
矢量之間的運算要遵循特殊的法則。矢量加法一般可用平行四邊形法則。由平行四邊形法則可推廣至三角形法則、多邊形法則或正交分解法等。矢量減法是矢量加法的逆運算,一個矢量減去另一個矢量,等於加上那個矢量的負矢量。A-B=A+(-B)。矢量的乘法。矢量和標量的乘積仍為矢量。矢量和矢量的乘積,可以構成新的標量,矢量間這樣的乘積叫標積;也可構成新的矢量,矢量間這樣的乘積叫矢積。例如,物理學中,功、功率等的計算是採用兩個矢量的標積。W=F·S,P=F·v,物理學中,力矩、洛侖茲力等的計算是採用兩個矢量的矢積。M=r×F,F=qv×B。