用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。