資源簡介
用C語言實現 的最速下降法,可利用函數指針將自己的目標函數設置進去
代碼片段和文件信息
//?目標函數??輸入?輸出??其他狀態量
typedef??double?(*Fun)(double?*inputvoid?*other);
#define?N?3; //?狀態變量
void?nonline_Gradient()
{
//?利用最速下降法求解平衡舵偏角?
//?建立最小二乘方程??三個方向的力矩系數平方和
Fun?fun; //?目標函數
double?pace[N]; //?步長
double?in[N]in_1[N]; //?輸入變量
double?out; //?函數輸出
double?alpha[N]; //?因子
double?Grad[N];
double?Temp=0;
do{
CalGrad(funinpaceGradNULL);
out?=?fun(inNULL);
for(int?i=0;i {
Temp+=(Grad[i]*Grad[i]);
}
alpha?=?out/(Temp);
for(int?
- 上一篇:機器人手臂
- 下一篇:數據結構C語言版_伙伴系統.txt
評論
共有 條評論