方程的計算機處理95(5)_C++v6

2021-02-19 蜘蛛網計算機語言

計算機語言運用--數值計算9-方程的計算機處理95(5)_C++v6

計算機:電子線路組成的計算機器。人與計算機則是通過計算機語言-符號系統說給計算機聽而交流。

計算機語言有低級語言-機器語言、彙編、高級語言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千種之多。

作為一種計算機器—可以協助人類處理各種事情—數值計算問題、文字處理問題、圖形圖像處理問題、事務問題……。自從有了數字計算的計算機器,幾乎所有的可以交給計算機的事情,都交給計算機來處理—是輔助處理—按照人們的要求—事先安排的模式進行處理。

數值計算

代數的計算、初等函數的計算、代數方程的求解、解析幾何與微分幾何的求解、矢量-張量與場論的求解、抽象代數-空間及泛函分析、級數與變換、特殊函數問題、概率統計與隨機過程分析計算、誤差分析與實驗數據處理、最優化方法分析、有限單元法求解、數論分析、集合論及其計算、拓撲學分析與計算、組合數學的計算、圖結構處理、數理邏輯分析與處理、……、……

或者說:

自然數的計算、整數的計算、實數的計算、複數的計算、矢量-向量的計算、矩陣的計算、函數的計算、代數方程的計算、函數方程的計算、微分的計算、積分的計算、常微分-一元微分方程的計算、偏微分-多元微分方程的計算、連續數量的計算、離散數量的計算、集合的計算、組合數學的計算、……、……

或者說:科學與工程技術應用中的數值計算、……、……

方程的計算機處理

這裡說的方程,是以實數域為計算範圍。

這裡說的方程:是含有未知數的等式。

可以是a+5=8,或X+A=B,或ax2+bx+c=0,或ax+by=c與dx-ey=f,或ax"+bx=c,或,

……、……

計算機如何處理這些問題呢?,問題的描述是什麼樣子的,才能充分利用計算機呢?

當然是代數形式的。便於計算機發揮特長,便於程序軟體的重用性。通過用戶交互,決定將什麼樣的具體問題交給計算機進行數值處理。

方程的計算機處理

MATLAB語言及其平臺、Fotran語言平臺  C語言v6平臺   C語言vs平臺

C++語言V6平臺

對於任何一個計算機語言來說,X+a=b型的方程也需要進行改造:

成為----X=b-a的樣式;

計算機是進行數值計算的好幫手,因此需要對a,b預先賦值,再進行計算;

那麼對於二元一次方程呢?也是如此。當然,最好是用求解方程的兩個解的公式來進行處理—也就是,用它們作為計算機語言描述的基礎。當然,需要計算機語言描述判別分母為零。這樣,便有了方程處理的前期工作,手工處理。

有數學家推導的求根公式可以直接利用

從數學問題的自然語言表述到數學問題的計算機語言表述

  三元一次方程組求解

求解的計算機語言表達分析,可以簡單說明如下

算法說明:

 

接下來是說:C++是編譯型語言,因此需要將所做工作用計算機語言編製程序,再交給計算機來處理。作為靜態數據的模式,與MATLAB不同,需要對計算的數據—數值或代數預先聲明變量,以便申請到內存來放置。

用C++語言編寫為文件形式,接著編譯成*.exe文件,再運行—人機互動。

程序文件

//三元一次方程組--threevariable linear equations

// CubicEquation3_1.cpp : Defines the entry point for the consoleapplication.

//

#include "stdafx.h"

#include <iostream.h>

#include <fstream>

#include <math.h>

using namespace std;

 

int main(int argc, char* argv[])

{

      printf("HelloWorld!\n");

//variable declaration

      int i,j,k,N;

      float ai[3][4];

      float D,D1,D2,D3;

      float x,y,z;

      char Fout_name[10];

//input

      cout<<"輸入1個整數N,指定你的計算次數"<<endl;

      cin>>N;

      for(i=0;i<N;i++)

      {

             cout<<"請輸入三元一次方程的係數,a,b,c,d, 共三組"<<endl;

             for(j=0;j<3;j++)

             {

               for(k=0;k<4;k++)

                    {

                    cin>>ai[j][k];

                    }

             }

//data processing

D=ai[0][0]*ai[1][1]*ai[2][2]+ai[0][1]*ai[1][2]*ai[2][0]+ai[0][2]*ai[1][0]*ai[2][1]\

 -ai[0][0]*ai[1][2]*ai[2][1]-ai[0][1]*ai[1][0]*ai[2][2]-ai[0][2]*ai[1][1]*ai[2][0];

D1=ai[0][3]*ai[1][1]*ai[2][2]+ai[0][1]*ai[1][2]*ai[2][3]+ai[0][2]*ai[2][1]*ai[1][3]\

 -ai[0][3]*ai[1][2]*ai[2][1]-ai[0][1]*ai[1][3]*ai[2][2]-ai[0][2]*ai[1][1]*ai[2][3];

D2=ai[0][0]*ai[1][3]*ai[2][2]+ai[0][3]*ai[1][2]*ai[2][0]+ai[0][2]*ai[2][3]*ai[1][0]\

 -ai[0][2]*ai[1][3]*ai[2][0]-ai[0][3]*ai[1][0]*ai[2][2]-ai[0][0]*ai[2][3]*ai[1][2];

D3=ai[0][0]*ai[1][1]*ai[2][3]+ai[0][1]*ai[1][3]*ai[2][0]+ai[0][3]*ai[2][1]*ai[1][0]\

 -ai[0][3]*ai[1][1]*ai[2][0]-ai[0][1]*ai[1][0]*ai[2][3]-ai[0][0]*ai[2][1]*ai[1][3];

 

      if(D!=0.0)

      {

       x=D1/D; 

       y=D2/D;

       z=D3/D;

//output

      cout<<"方程有三個根:x= "<<x<<" ,y= "<<y<<",z= "<<z<<endl;

//save result

      cout<<"數據處理完畢,請輸入保存文件名,格式為:*.txt"<<endl;

      cin>>Fout_name;

      ofstreamfile_out(Fout_name);  //,,,

      file_out<<"鍵盤輸入的三元一次方程係數為:a1="<<ai[0][0]<<"b1="<<ai[0][1]\

             <<"c1="<<ai[0][2]<<" d1="<<ai[0][3]<<endl;

      file_out<<endl;

      file_out<<"鍵盤輸入的三元一次方程係數為:a2="<<ai[1][0]<<"b2="<<ai[1][1]\

             <<"c2="<<ai[1][2]<<" d2="<<ai[1][3]<<endl;

      file_out<<endl;

      file_out<<"鍵盤輸入的三元一次方程係數為:a3="<<ai[2][0]<<"b3="<<ai[2][1]\

             <<"c3="<<ai[2][2]<<" d3="<<ai[2][3]<<endl;

      file_out<<endl;

      file_out<<"計算機求解方程的結果如下,三個解:"<<endl;

      file_out<<"x="<<x<<endl;

      file_out<<"y="<<y<<endl;

      file_out<<"z="<<z<<endl;

      cout<<"計算機處理結果被保存為 "<<Fout_name<<"  請檢查!"<<endl;

 

      }

else

      cout<<"該方程組沒有解!"<<endl;

 

      }

      return 0;

}

求解過程

Hello World!

輸入1個整數N,指定你的計算次數

3

請輸入三元一次方程的係數,a,b,c,d,共三組

1 2 3 4 5 6 7 8 9 10 11 12

該方程組沒有解!

請輸入三元一次方程的係數,a,b,c,d,共三組

1 3 5 6 8 9 4 3 2 -11 12 13

方程有三個根:x=-0.327103 ,y= 0.0841122, z= 1.21495

數據處理完畢,請輸入保存文件名,格式為:*.txt

1.txt

計算機處理結果被保存為1.txt  請檢查!

請輸入三元一次方程的係數,a,b,c,d,共三組

2 4 6 -8 3 5 -7 9.7 3 -6 9 11

方程有三個根:x=3.54271 ,y= -1.91667, z= -1.23646

數據處理完畢,請輸入保存文件名,格式為:*.txt

2.txt

計算機處理結果被保存為2.txt  請檢查!

Press any key to continue

進行結果

 

咱不是要說明實際數學問題怎麼變成計算機處理嗎!就是數學方程的預先處理問題、計算機語言描述問題嘛。

在C、C++、C#、Fortran等語言中,你能看到複數的處理問題與描述。

 

感覺咋樣?什麼是方程的計算機處理—算法及其描述,運行及其人機互動。

相關焦點

  • 方程的計算機處理95(1)_C++v6
    計算機語言運用--數值計算9-方程的計算機處理95(1)_C++v6計算機:電子線路組成的計算機器。
  • 方程的計算機處理96(5)_C++vs
    計算機語言運用--數值計算9-方程的計算機處理96(5)_C++vs計算機:電子線路組成的計算機器。
  • 方程的計算機處理96(1)_C++vs
    >自然數的計算、整數的計算、實數的計算、複數的計算、矢量-向量的計算、矩陣的計算、函數的計算、代數方程的計算、函數方程的計算、微分的計算、積分的計算、常微分-一元微分方程的計算、偏微分-多元微分方程的計算、連續數量的計算、離散數量的計算、集合的計算、組合數學的計算、……、……或者說:科學與工程技術應用中的數值計算、……、……方程的計算機處理這裡說的方程,是以實數域為計算範圍
  • 方程的計算機處理96(3)_C++vs
    自從有了數字計算的計算機器,幾乎所有的可以交給計算機的事情,都交給計算機來處理—是輔助處理—按照人們的要求—事先安排的模式進行處理。當然,最好是用求解方程的兩個解的公式來進行處理—也就是,用它們作為計算機語言描述的基礎。當然,需要計算機語言描述判別分母為零。這樣,便有了方程處理的前期工作,手工處理。
  • 方程的計算機處理94(2)_Cvs
    人與計算機則是通過計算機語言-符號系統說給計算機聽而交流。計算機語言有低級語言-機器語言、彙編、高級語言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千種之多。作為一種計算機器—可以協助人類處理各種事情—數值計算問題、文字處理問題、圖形圖像處理問題、事務問題……。
  • 方程的計算機處理94(1)_Cvs
    自從有了數字計算的計算機器,幾乎所有的可以交給計算機的事情,都交給計算機來處理—是輔助處理—按照人們的要求—事先安排的模式進行處理。>自然數的計算、整數的計算、實數的計算、複數的計算、矢量-向量的計算、矩陣的計算、函數的計算、代數方程的計算、函數方程的計算、微分的計算、積分的計算、常微分-一元微分方程的計算、偏微分-多元微分方程的計算、連續數量的計算、離散數量的計算、集合的計算、組合數學的計算、……、……或者說:科學與工程技術應用中的數值計算、……、……方程的計算機處理這裡說的方程,是以實數域為計算範圍
  • 方程的計算機處理94(5)_Cvs
    計算機語言運用--數值計算9-方程的計算機處理94(5)_Cvs計算機:電子線路組成的計算機器。
  • 方程的計算機處理914(5) _python-3
    計算機語言運用--數值計算9-方程的計算機處理914(5) _python-3計算機:電子線路組成的計算機器。
  • 方程的計算機處理913(5) _javaJDK14
    計算機語言運用--數值計算9-方程的計算機處理913(5) _javaJDK14計算機:電子線路組成的計算機器。
  • 方程的計算機處理92-2_Fortran
    計算機語言運用--數值計算9-方程的計算機處理92-2_Fortran數值計算方程的計算機處理這裡說的方程
  • 方程的計算機處理93(3)_Cv6
    人與計算機則是通過計算機語言-符號系統說給計算機聽而交流。計算機語言有低級語言-機器語言、彙編、高級語言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千種之多。作為一種計算機器—可以協助人類處理各種事情—數值計算問題、文字處理問題、圖形圖像處理問題、事務問題……。
  • 方程的計算機處理91-2_Matlab
    自從有了數字計算的計算機器,幾乎所有的可以交給計算機的事情,都交給計算機來處理—是輔助處理—按照人們的要求—事先安排的模式進行處理。數值計算方程的計算機處理這裡說的方程,是以實數域為計算範圍。這裡說的方程:是含有未知數的等式。
  • 方程的計算機處理92-3_Fortran
    數值計算方程的計算機處理這裡說的方程,是以實數域為計算範圍。這裡說的方程:是含有未知數的等式。
  • 方程的計算機處理93(2)_Cv6
    人與計算機則是通過計算機語言-符號系統說給計算機聽而交流。計算機語言有低級語言-機器語言、彙編、高級語言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千種之多。作為一種計算機器—可以協助人類處理各種事情—數值計算問題、文字處理問題、圖形圖像處理問題、事務問題……。
  • 方程的計算機處理92-4_Fortran
    計算機語言運用--數值計算9-方程的計算機處理92-4_Fortran數值計算方程的計算機處理這裡說的方程
  • 方程的計算機處理914(1)_python-3
    自從有了數字計算的計算機器,幾乎所有的可以交給計算機的事情,都交給計算機來處理—是輔助處理—按照人們的要求—事先安排的模式進行處理。>自然數的計算、整數的計算、實數的計算、複數的計算、矢量-向量的計算、矩陣的計算、函數的計算、代數方程的計算、函數方程的計算、微分的計算、積分的計算、常微分-一元微分方程的計算、偏微分-多元微分方程的計算、連續數量的計算、離散數量的計算、集合的計算、組合數學的計算、……、……或者說:科學與工程技術應用中的數值計算、……、……方程的計算機處理這裡說的方程,是以實數域為計算範圍
  • 函數的計算機處理8(10)_1VC++v6
    人與計算機則是通過計算機語言-符號系統說給計算機聽而交流。計算機語言有低級語言-機器語言、彙編、高級語言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千種之多。 作為一種計算機器—可以協助人類處理各種事情—數值計算問題、文字處理問題、圖形圖像處理問題、事務問題……。
  • 方程的計算機處理93(1)_Cv6​
    自從有了數字計算的計算機器,幾乎所有的可以交給計算機的事情,都交給計算機來處理—是輔助處理—按照人們的要求—事先安排的模式進行處理。>自然數的計算、整數的計算、實數的計算、複數的計算、矢量-向量的計算、矩陣的計算、函數的計算、代數方程的計算、函數方程的計算、微分的計算、積分的計算、常微分-一元微分方程的計算、偏微分-多元微分方程的計算、連續數量的計算、離散數量的計算、集合的計算、組合數學的計算、……、……或者說:科學與工程技術應用中的數值計算、……、……方程的計算機處理這裡說的方程,是以實數域為計算範圍
  • c++ fstream + string 處理大數據
    起因(1)之前處理文本數據時,各種清洗數據用的都是java的File,FileReader
  • c++ fstream + string處理大數據
    一:起因(1)之前處理文本數據時