# include<stdio.h>
# include<math.h>
# define N 3
main(){
float NF2(float *x,float *y);
float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}};
float b[N]={7.2,8.3,4.2},sum=0;
float x[N]= {0,0,0},y[N]={0},x0[N]={};
int i,j,n=0;
for(i=0;i<N;i++)
{
x[i]=x0[i];
}
for(n=0;;n++){
//計算下一個值
for(i=0;i<N;i++){
sum=0;
for(j=0;j<N;j++){
if(j!=i){
sum=sum+A[i][j]*x[j];
}
}
y[i]=(1/A[i][i])*(b[i]-sum);
//sum=0;
}
//判斷誤差大小
if(NF2(x,y)>0.01){
for(i=0;i<N;i++){
x[i]=y[i];
}
}
else
break;
}
printf("經過%d次雅可比迭代解出方程組的解:\n",n+1);
for(i=0;i<N;i++){
printf("%f ",y[i]);
}
}
//求兩個向量差的二范數函數
float NF2(float *x,float *y){
int i;
float z,sum1=0;
for(i=0;i<N;i++){
sum1=sum1+pow(y[i]-x[i],2);
}
z=sqrt(sum1);
return z;
}
標簽:
C語言
編寫
迭代
上傳時間:
2019-10-13
上傳用戶:大萌萌撒
超聲波電機(Ultrasonic Motor)是近二十年來發展起來的一種新原理電機,其原理不同于傳統的電磁型電機,它是利用壓電陶瓷的逆壓電效應激發超聲振動,借助彈性體諧振放大,通過摩擦耦合產生旋轉運動或直線運動.其顯著特點是低轉速、大力矩、可用于直接驅動、結構簡單、電磁兼容性好并具有斷電自鎖等功能,在某些特殊領域內已取得了一席之地.超聲波電機形式多樣,其中縱扭復合型超聲波電機的輸出力矩最高能達到行波型超聲波電機的十幾倍,且控制性能更好,因此縱扭復合型超聲波電機的研究可以便超聲波電機的應用得到進一步的拓展.前幾年,輸出力矩大于1Nm的超聲波電機研究主要集中在日本幾家研究機構,國內對于大力矩高精度電機的研究幾乎是空白.近幾年,國內紛紛對具有大力矩輸出特性的縱扭復合型超聲波電機展開了研究,浙江大學、南京航天航空大學、清華大學等.該文以具有大力矩輸出的縱扭復合型超聲波電機作為研究對象,對其摩擦驅動模型、振動模態、摩擦材料的選擇、電機結構設計及優化和測控系統等進行了系統全面的研究,并在此基礎上研制了兩套樣機,每套樣機的最大力矩在10Nm以上,且定位精度達到0.025度,形成了大力矩高精度縱扭復合型超聲波電機的理論和實驗基礎.
標簽:
力矩
高精度
超聲波
上傳時間:
2013-05-21
上傳用戶:zzbin_2000