凸多边形最优三角剖分java_实数的计算机处理313_jdk14_java

本文探讨了实数在计算机中的处理,包括实数的生成、表达和计算,如连加、连减、连乘、连除等四则运算。还涉及到了函数计算、微积分、方程求解等复杂计算,并提到了C、Java等编程语言在数值计算中的应用。此外,介绍了实数与自然数、整数的区别,以及图形学在处理实数问题中的作用。
摘要由CSDN通过智能技术生成

计算机语言运用--数值计算3-实数的计算机处理313_jdk14_java

计算机:电子线路组成的计算机器。人与计算机则是通过计算机语言-符号系统说给计算机听而交流。

计算机语言有低级语言-机器语言、汇编、高级语言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千种之多。

作为一种计算机器—可以协助人类处理各种事情—数值计算问题、文字处理问题、图形图像处理问题、事务问题……。自从有了数字计算的计算机器,几乎所有的可以交给计算机的事情,都交给计算机来处理—是辅助处理—按照人们的要求—事先安排的模式进行处理。

数值计算

代数的计算、初等函数的计算、代数方程的求解、解析几何与微分几何的求解、矢量-张量与场论的求解、抽象代数-空间及泛函分析、级数与变换、特殊函数问题、概率统计与随机过程分析计算、误差分析与实验数据处理、最优化方法分析、有限单元法求解、数论分析、集合论及其计算、拓扑学分析与计算、组合数学的计算、图结构处理、数理逻辑分析与处理、……、……

或者说:

自然数的计算、整数的计算、实数的计算、复数的计算、矢量-向量的计算、矩阵的计算、函数的计算、代数方程的计算、函数方程的计算、微分的计算、积分的计算、常微分-一元微分方程的计算、偏微分-多元微分方程的计算、连续数量的计算、离散数量的计算、集合的计算、组合数学的计算、……、……

或者说:科学与工程技术应用中的数值计算、……、……

实数的计算—从整数中引入负数而再引入分数-小数扩展

在实数的范围内—实数计算结果仍然为实数。可以加减乘除-连加连减连乘连除-四则混合运算!--不能随意开方—会遇到负数开平方,这就不是实数的封闭问题。

实数构成连续量的基础,。也就是说,任意两个实数量之间可以再插入一个实数-无限可加。这是自然数、整数所没有的特性。据此就说,自然数、整数是离散数。

因此,引出实数的计算方法与自然数、整数有很大的不同。实数的表达就不是用语言能简洁说清楚的。那么,用什么形式来表达呢?图形—线(直线、曲线、……,一维、二维、三维、)--因为点与点之间可以无限再加无限多个点。

当然,复杂的还有面(平面、规则平面、不规则平面、空间曲面、……)

当然,复杂的还有体(规则体、不规则体、单体与组合体、……)

由此催生了计算机图形学—一个依靠点素-像素来表达图形的知识系统及其计算机算法与语言表述。……。内容之丰富让人们乐此不疲。

当然,就有了函数的概念、应用、表达、运算、……。

当然,连续性概念就出现了、微积分概念就出现了、……。

当然,各种方程(代数、微积分、……)就出现了。

当然,计算机语言表述就丰富多彩了,复杂性带来技术挑战,……。

自然数、整数、实数的兼容-混合使用

数与数的间隔—步长可以任意设置。不像自然数或整数只能取整数

实数的计算机生成:算法为i=0,i=n,ans=i循环

实数的连加:算法为i=0,i=n,ans= ans +i

实数的连减:算法为i=0,i=n,ans= ans +i

实数的连乘:算法为i=1,ans= ans *i

实数的连除:算法为i=1,ans= ans /i

实数的加减乘除:算法为ans=11.3-2*4.5/5+3/32*8+456.78/32-5-0.78+123

相同的实数的连加:算法为ans=a*n

相同的实数的连减:算法为ans=?

相同的实数的连乘:算法为i=4,ans=4n 

相同的实数的连除:算法为ans=?

三角函数可以计算了、初等函数的计算可以了、……

函数的连续性使得微积分得以通行无阻,函数变换、泛函、……太多的实际问题—科学的、工程技术的、经济的、……得以建立数学模型,进行量化分析、评估决策等。

……、……

实数的计算机处理:负数开平方可能出现的不封闭其结果不再是实数域的数

%实数的计算-四则混合运算、初等函数及其复杂函数、微积分-方程等的计算

mix=R*cos(3*I)+8.8/N-7.32*N+7*5.55+I/R-1.3*N*sin(45.6)

MATLAB语言及其平台   Fortran语言及其平台   C语言及其平台V6   C语言及其平台VS   C++语言及其平台V6    C++语言及其平台VS   C#语言及其平台VS   VB语言及其平台V6   VB语言及其平台VS   VC++语言及其平台V6    VC++语言及其平台VS   VC#语言及其平台VS 

java语言及其平台JDK-14

实数-real

实数的生成及其表达

实数的简单计算—四则混合运算、连加、连减、连乘、连除、……运算的优先级

实函数的简单计算—初等函数的计算、……、简单方程—代数方程

实函数的复杂计算—微积分及其方程(连续量及其连续变化问题)

……

自然数、整数、实数的兼容-混合使用

使用MATLAB语言及其平台的好处是,可以简单地获得数值输出与图形输出,以便理解实数的计算规则其及其数值特征。当然,使用VB、VC++、VC#等也可以方便的获得图形表达,但其操作与编程还是比较繁琐,因为它们不是专为数学问题而设计的语言。虽然计算机(计算机器)完全需要数值计算处理作为最终硬件运行-软件运行的机理,但这里说的数值计算不是硬件-最底层的二进制计算问题。Fortran、C、C++、C#、VB等语言好要处理文字、图形、事务等问题。

%实数的计算-连加、连减、连乘、连除、加减乘除及初等函数混合计算// Real_Nums.java

import java.io.*;

import java.util.*;

import java.text.DecimalFormat;

public class Real_Nums //

{

       //classvariables

       staticdouble initDC = 88888.88888D;

       staticint  i,j,N;

       static int[]Iarray = new int[10];

       staticfloat[] Farray = new float[10];      

    staticdouble add,subtr,mult,divi,mix,seqenN,seqenI,seqenR,mAngle;

       staticint[] file_in = new int[10];

       staticString FsaveName;

   public staticvoid main(String[] args) //

    {

       //localvariables

           String m_str="this is an ordinary orlocal variable!";

           int m_initIA=111;

        floatm_initFB=222.2222f;

        doublem_initDC=333333.33333D;

       //     int[] Iarray = new int[10];

       //Promptinformation output

           System.out.println("This is an Builtin information. Chinese Cannot used! English Yes!");

           System.out.println(m_str);

              System.out.println("Thisis an class variable!");

           System.out.println(initDC);            

       //datainput

           Scanner inKey = new Scanner(System.in);

              System.out.println("pleaseinput Maximum natural number: N");

        N=inKey.nextInt();

       System.out.println("check int "+N);

              System.out.println("pleaseinput 10 integers: ");

              for(i=0;i

              {

         Iarray[i]=inKey.nextInt();

         }

              System.out.println("pleaseinput 10 reals: ");

              for(i=0;i

              {

         Farray[i]=inKey.nextFloat();

         }

              System.out.println(Arrays.toString(Iarray));

              System.out.println(Arrays.toString(Farray));

              System.out.println("checkthe data : ");

              System.out.println("inputthe Angle value of trigonometric function.: ");

           mAngle =     inKey.nextInt();

    //input filedata

       //dataprocessing

//addition    

          add=0;

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

          {

           add=add+0.3*j;

          }

       System.out.println(add);

//subtraction        

          subtr=31.7;

       for(j=1;j<=N;j++)

          {

          subtr=subtr-1.2*j;

          }

       System.out.printf("%.4f\n",subtr);

//multiplication          

              i=1;

              mult=1;

              while(i<=N)

          {

           mult=mult*i+1.3;

            i++;    

           }

                 System.out.printf("%.4f\n",mult);

//division                      

          divi=123.4;

       for(j=1;j<=N;j++)

          {

          divi=divi/(0.7*j);

          }

        System.out.println("Thisis a division : ");

              System.out.println(String.format("%.6f",divi));

//hybrid-mix 

       mix=add+subtr-mult*divi/0.3;

       System.out.println(String.format("mix =  %.6f",mix));

//seqen   //seqenN,seqenI

              intseqenI=0;

              for(j=1;j

          for(i=0;i

           if(Iarray[i]

              {

               seqenI=Iarray[i];

               Iarray[i]=Iarray[i+1];

               Iarray[i+1]=seqenI;

              }

       System.out.println(Arrays.toString(Iarray));

//seqen   //seqenR

              floatseqenR=0.0f;

              for(j=1;j

          for(i=0;i

           if(Farray[i]>Farray[i+1])

              {

               seqenR=Farray[i];

               Farray[i]=Farray[i+1];

                Farray[i+1]=seqenR;

              }

       System.out.println(Arrays.toString(Farray));             

       System.out.println("generating natural or integer. Next: ");

              //generatingnatural integer Reals

              j=-10;

              while(j<=N)

          {

             System.out.println(j*2);

            j++;    

           }

       System.out.println("generating Real. Next: ");      

              i=-10;

              while(i<=N)

          {

             System.out.printf("%.2f\n",i*1.3-0.7);

                     //System.out.println(i*1.3-0.5);

            i++;    

           }

//Calculating trigonometric function -- Math class

        doublemFun_Sin =Math.sin(mAngle*Math.PI/180.0);

        doublemFun_Cos =Math.cos(mAngle*Math.PI/180.0);

        doublemFun_Tan =Math.tan(mAngle*Math.PI/180.0);         

         System.out.printf("%.4f%.4f%.4f\n",mFun_Sin,mFun_Cos,mFun_Tan);

       //Fileoutput--save file

              ScanneroutKey = new Scanner(System.in);

              System.out.println("PleaseEnter an FileName,form Save E:\\*.txt");

              FsaveName= outKey.nextLine();

             try {

            FilewriteName = new File(FsaveName);

         if(!writeName.exists()) {

           writeName.createNewFile();

              }

         FileWriter writer = new FileWriter(writeName);

         BufferedWriter Fw = new BufferedWriter(writer);

                DecimalFormat Fwf = newDecimalFormat("#.00");

                DecimalFormat FwTri = newDecimalFormat("#.0000");

         Fw.write("Save Data to File \n");

             Fw.write("User input N= "+N);

         Fw.write("\r\n");

                Fw.write("Continued addition 1 to N,add="+Fwf.format(add));

         Fw.write("\r\n");

         Fw.write("Continued subtraction 1 to N,sum="+Fwf.format(subtr));

         Fw.write("\r\n");

         Fw.write("Continuous multiplication 1 to N,products="+Fwf.format(mult));

         Fw.write("\r\n");

                Fw.write("Continued division 1 toN,divi= "+Fwf.format(divi));

         Fw.write("\r\n");

                Fw.write("Continuous multiplication 1 toN \n");

              j=-8;

              while(j<=N)

          {

                     Fw.write("products="+Fwf.format(2.3*j)+" \n");

            j++;    

           }            

         Fw.write("\r\n");

                Fw.write("Sorting of  "+N+"  numbers is :  \n");

                Fw.write(Arrays.toString(Iarray));

         Fw.write("\r\n");   

         Fw.write(Arrays.toString(Farray));

                Fw.write("\r\n");

            Fw.write("angle value ="+Fwf.format(mAngle)+" \n"); 

                Fw.write("sin(angle)="+FwTri.format(mFun_Sin)+" \n");

                Fw.write("cos(angle)="+FwTri.format(mFun_Cos)+" \n");

                Fw.write("tan(angle)="+FwTri.format(mFun_Tan)+" \n");

                Fw.write("\r\n");       

          Fw.flush();

         Fw.close();

        } catch(IOException e1) {

   e1.printStackTrace();

    }

}

}  

a9ad5b97cad1956dd3f5083700072103.png 

程序较长,阅读费劲,大脑昏沉,看来确实需要分解为若干个方法比较好。模块清晰,便于重用。

作为实数集,一般说来是有无数个数据—实数之间还可以有实数。这时候,借用几何学的办法—图形来表达是可取的、科学的、实际的。

55dae70ba47d2f2a53ae8a5dda2b6848.png

当然,随着计算机技术的扩展、硬件、软件、数学算法等因素促使了计算机图形学的应用与扩展。C语言是早期的语言之一,早期的编译平台没有图形处理功能—当然_图形处理功能与字符(数字、文字、……)处理功能的技术大不相同。各种原因使得C的原有编译平台不能直接编译处理图形问题。若要用C语言,可以外挂一个GUI图形处理程序包。这样就可以处理图形问题了。C++语言也是如此。

当然,可以直接使用VC++还有VB、VC#等语言及其编译平台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值