اطلاعیه

Collapse
No announcement yet.

برنامه برا حل ماتریس به روشهای gauss/jacobi

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    برنامه برا حل ماتریس به روشهای gauss/jacobi

    اگه کسی بتونه منو برا نوشتن برنامه برا حل ماتریس به روشهای gauss/jacobi راهنمایی کنه ممنون میشم

    #2
    پاسخ : کمک

    سلام؟
    تو کجاش مشکل داری؟
    یه توضیحی هم در مورد این روش ها بدی یاداوری خوبی میشه. :biggrin:
    مرسی
    Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

    دیدگاه


      #3
      پاسخ :برنامه برای دترمینان ماتریس به روشهای gauss/jacobi

      عنوان تاپیک رو متاسب انتخاب کنید .

      * من این برنامه رو که نوشته ام با استفاده از روش گاوس -جردن هستش . ( البته یک سال پیش ، و برای یک ماتریس 5*5 - که البته به راحتی قابل تعمیم به n*n هست )
      روش گاوس -جردن هم ، اکثر شما با این روش آشنا هستین .
      فقط مختصرا بگم که روش کلی اون ساده کردن معادلات دستگاه با جمع کردن ضرایب مناسبی از اونها با همه ، تا ماتریس ضرایب به یه ماتریس همانی یا بالا مثلثی یا پایین مثلثی تبدیل بشه.

      ( توضیح عملکرد برنامه : این برنامه در خروجی از شما می خواد که داریه ها رو وارد کنید و در واقع شما می بایست 25 درایه (برای ماتریس 5×5) تک تک وارد کنید .
      و بعد دترمینان ماتریس رو می ده .
      طریقه گرفتن داریه ها سطر به سطر است یعنی اینکه ابتدا از درایه a00 شروع می کنه وتا انتهای سطر 0 رو می گیره وبعد هم سطر دوم و تا . . . سطر پنجم و داریه هاش رو می گیره آخرین درایه هم که معلومه داریه a44
      خواهد بود . )

      کد برنامه با c++ :


      کد:
       #include "iostream.h"
      #include "conio.h"
      int calc(int [],int dim);
      void revmatrix( int [],int dim);
      void main()
      
      
      {
      int matrix[1000] = {NULL};
      int dim,temp;
      double leftsum,rightsum; 
      dim=5 ;
      cout<<"\n\n\n";
      for( int i = 0;i<( dim*dim );i ++ )
      
      
      {
      cout<<"ENTER ELEMAN : ";
      cin>>temp;
      matrix[i] = temp;
      cout<<"\n";
      clrscr();
      cout<<" PLEASE ENTER MATRIX DIMANTION : "<<dim;
      cout<<"\n\n\n";
      }//for i
      
      if ( dim > 2 )
      
      
      {
      leftsum = calc( matrix , dim );
      cout<<"LEFTSUM of the matrix = "<< leftsum <<"\n\n";
      revmatrix( matrix , dim );
      rightsum = calc( matrix ,dim );
      cout<<"RIGHTSUM of the matrix = "<< rightsum <<"\n\n\n\n\n\n" ;
      cout<<" ( DETERMINAN OF THE MATRIX = "<< leftsum - rightsum<<" )";
      }
      
      else
      
      
      {
      cout<<" ( DETERMINAN OF THE MATRIX = "<<(matrix[0] * matrix[3] - matrix[1] * matrix[2])<<" )";
      }
      
      getch();
      }//end main
      
      /////////////////calc function//////////
      
      int calc( int matrix[ ], int dim )
      
      
      {
      int sum = 0, bul, x = 1;
      for( int l = 0; l<( dim*dim );l += ( dim+1 ) )//ghotr asli
      x *= matrix[l];
      sum = x;
      x = 1;
      for( int c = 1;c<dim;c ++ )
      
      
      {
      bul=c;
      for( int m = 0;m<dim;m ++ )
      
      
      {
      if( ( bul+1 )%dim != 0 )
      
      
      {
      x *= matrix[bul];
      bul +=( dim + 1 );
      }
      
      else
      
      
      {
      x = x * matrix[bul];
      bul += 1;
      }
      
      }//for m
      
      sum += x;
      x = 1;
      }//for c
      
      return sum;
      }
      
      ////////////////////revmatriv determinan
      ///////////////////
      void revmatrix(int matrix[ ],int dim)
      
      
      {
      int end,temp,counter;
      for( int t = dim-1;t <= dim*dim;t = t + dim )
      
      
      {
      end=t;
      counter = end -( dim-1 );
      while( end > counter )
      
      
      {
      temp = matrix[end];
      matrix[end] = matrix[counter];
      matrix[counter] = temp;
      ++ counter;
      -- end;
      }
      
      }

      امیدوارم کمکت کنه . موفق باشید .
      می خور که ز دل کثرت و قلت ببرد واندیشه ی هفتاد و دو ملت ببرد.
      پرهیز مکن ز کیمیایی که از او یک جرعه خوری هزار علت ببرد .
      (حکیم عمر خیام)

      دیدگاه


        #4
        پاسخ : برنامه برا حل ماتریس به روشهای gauss/jacobi

        نوشته اصلی توسط vocationman
        اگه کسی بتونه منو برا نوشتن برنامه برا حل ماتریس به روشهای gauss/jacobi راهنمایی کنه ممنون میشم
        :applause:

        دیدگاه


          #5
          پاسخ : برنامه برا حل ماتریس به روشهای gauss/jacobi

          با سلام
          این و ببین شاید مفید بود.
          http://forum.p30world.com/showthread.php?p=3223196
          تو هم می توانی, باور کن که رنج تفاوتی است بین آنچه هست و آنجه تو می خواهی باشد.
          وقتی شرمسار گذشته ناقص خویشی, یا وفتی نگران آینده ی نامعلوم خودی, بدان که در زمان حال زندگی نمی کنی, آن وقت رنج را تجربه می کنی, خود را بیمار می کنی, و ناشادمان هستی.
          بدان که گذشته تو زمان حال بوده است و آینده ات زمان حال خواهد بود.
          پس زمان حال تنها واقعیتی است که میتوانی تجربه کنی.
          ***هر که نه گویای تو خاموش به / هر چه نه یاد تو فراموش به***

          دیدگاه

          لطفا صبر کنید...
          X