// russian : cp1251 encoding #include #include #include "ext_value.h" using namespace std; int main() { double x[3], x1=2.7, x2=-1.32, x3=-5.1; // Внимание: массив ext_value3 ext_value3 a[3],res; int i; x[0]=x1; x[1]=x2; x[2]=x3; // Инициализация массива: for(i=0;i<3;i++){ a[i].set_dim(3); // установка размерности a[i].set(x[i]); // установка значения a[i].set(1.0,i); // устанавливаем первую производную - получили независимые переменные // по этим переменным и производится дифференцирование } res=atan2(a[2],sqrt(a[0]*a[0]+a[1]*a[1])); double s,s2,s3,s5,r2,r4,r6,w; s2=x1*x1+x2*x2; s=sqrt(s2); s3=s*s2; s5=s3*s2; r2=x1*x1+x2*x2+x3*x3; r4=r2*r2; r6=r4*r2; w=atan2(x3,s); cout<<"res "<