[아카이브] 순수수학, 물리학, 화학 등 : 거래와 무관한 두뇌 트레이닝 퍼즐 - 페이지 538

 

거의 항상 정확한 솔루션이 없다는 것은 분명합니다. 방정식의 수는 미지수의 수보다 많을 것입니다.

그래서 MNC가 존재합니다. 그리고 Yusuf 공식의 문제는 바로 이 방법이며 다음을 포함합니다. 점 구름을 통해 직선을 그리는 것, 그리고 최소 제곱의 관점에서 최적입니다. 그는 정규 방정식에 대해서만 이야기하는 것이 아닙니다.

 
알았습니다.
 
Neutron :

그렇다면 이 계획에 따른 솔루션은 어떻습니까?


그것은 분명하다.
 
그러나 작업 조건에서 모든 사람이 여섯 명의 지인만 가질 필요는 없습니다. :) 아마도 다음과 같을 것입니다. (X-1) ^ 6 = 지구 전체 인구. x는 각각의 지인 수입니다. X는 매우 실제 값을 가져야 합니다.
 

누군가 방정식의 일반적인 솔루션을 찾을 수 있는 위치를 알고 있습니까?

x^0+x^1+x^2+x^3+.......x^n=A

^ -도 기호, A-상수

 

아니요, 수치적 방법만 있습니다. 기하 도형을 요약하면 단순화할 수 있습니다. 진행:

( x^(n+1) - 1 ) / ( x - 1 ) = A

특정 범위 A를 지정하고 허용 가능한 정확도로 대략적으로 해결해 보겠습니다.

그리고 어떤 정확도로 x를 찾아야 합니까? 또한 n의 범위는 얼마입니까?

더 보기: x - 긍정적이기를 바랍니다.

추신 A, x > 0이면 아래에서 x를 쉽게 추정할 수 있습니다.

x = ( x^(n+1) + A - 1 ) / A > 1 - 1 / A

그런 다음 - 반복(보기 위해 함수 y=x^(n+1)-1 및 y=A(x-1)의 그래프를 그립니다):

x(0) = 1 - 1 / A

x(k+1) = ( x(k)^(n+1) - 1 + A ) / A

n=10, A=5 확인:

x(0)=0.8이고 12번째 반복에서는 0.000001의 정확도로 숫자 0.823679가 생성됩니다.

이 검사는 등식의 왼쪽이 오른쪽과 0.000005만큼 다르다는 것을 보여줍니다.

 
Mathemat :

아니요, 수치적 방법만 있습니다. 기하 도형을 요약하면 단순화할 수 있습니다. 진행:

( x^(n+1) - 1 ) / ( x - 1 ) = A

특정 범위 A를 지정하고 허용 가능한 정확도로 대략적으로 해결해 보겠습니다.

그리고 어떤 정확도로 x를 찾아야 합니까? 또한 n의 범위는 얼마입니까?

더 보기: x - 긍정적이기를 바랍니다.


예, x는 양수입니다. 반나절 동안 나는 결정하는 방법에 대해 생각했습니다 ... - 고문이주기에서 조금 내리도록 X를 철회)))

어드바이저에서 결과에 특정 오류가있는 솔루션 선택을 구성했습니다. 증분형..

그래서, 다른 방법이 없습니다 .. 이제 나는 확실히 내 두뇌를 쌓지 않을 것입니다. 감사합니다). 질문이 끝났습니다.

 
게시물을 마쳤습니다. 반복에 솔루션이 있습니다. 함수를 작성하면 빠르게 계산됩니다.
 
jelizavettka :


예, x는 양수입니다. 반나절 동안 나는 결정하는 방법에 대해 생각했습니다 ... - 고문이주기에서 조금 내리도록 X를 철회)))

어드바이저에서 결과에 특정 오류가있는 솔루션 선택을 구성했습니다. 증분형..

그래서, 다른 방법이 없습니다 .. 이제 나는 확실히 내 두뇌를 쌓지 않을 것입니다. 감사합니다). 질문이 끝났습니다.


보여줘.

내 옵션은 다음과 같습니다.

 int start(){

   int n= 12 ; // максимальная степень
   double A= 125879 ;

   double x;
   int k;
   
   Alert ( "Начало: A=" + DoubleToStr (A, 8 ));
   
       if (Function(n,A,x,k)){
         Alert ( "x=" + DoubleToStr (x, 8 )+ ". Проверка: A=" + DoubleToStr (Formula(x,n), 8 )+ ". Итераций: " +k);
      }
       else {
         Alert ( "Переполнение" );
      }
  
   return ( 0 );
   
}


bool Function( int n, double A, double & x, int & k){
   double inf= MathPow ( 10 , 309 );
   x= 0 ;       
   double Step= 10 ; // Начальный шаг, стоит поэкспериментировать со значением
   k= 0 ;
       while (true){
         k++;
         double val=Formula(x,n);
             if (val>A || val==inf){
               x-=Step;
               Step/= 2 ;
                   if (Step< 0.000000000000001 ){ // 0.000000000000001 - определяет точность, увеличивать можно (снижать точность), уменьшать некуда
                     if (val==inf){
                         return (false);
                     }
                     else {
                         return (true);
                     }
                  }
            }
         x+=Step;               
      }  
}

double Formula( double x, int n){
   // x^0+x^1+x^2+x^3+.........x^n=A
   double sum= 1 +x;
       for ( int i= 2 ;i<=n;i++){
         sum+= MathPow (x,i);
      }
   return (sum);
}
 
Integer :


보여줘.

내 옵션은 다음과 같습니다.

남의 코드는 잘 못하지만
비슷한게 있어서..

먼저 미지수의 단계를 설정하고 결과가 통과하면 A를 단계가 축소된 통과 범위의 구간으로 취한다....

그리고 정확도 - 나는 주어진 값에서 결과 값 "A"의 편차 %로 정의했습니다.

지정된 정확도에 도달하지 않으면 단계가 감소합니다 ...

나는 모든 것을 유태인으로 가지고 있으며 그렇게 아름답지는 않습니다))