1、算术计算、即数的加减乘除等数学运算
例:1+2-3=0。
2、较复杂的运算,即根据已知量算出未知量。
例:求y=sinx
对于复杂的数值计算问题,可以利用计算机进行问题求解,即利用计算机运算速度快、计算精度高的特点,通过重复执行简单的操作,完成复杂的计算。
例:求定积分的问题可以看成n个曲边提醒的面积求和的问题。
由于计算机的出现和广泛应用,我们可以广义的理解计算。
计算体现的是问题求解的方法和手段。
计算是科学研究和工程应用的重要工具。
利用计算机处理数值问题的方法,称为科学计算。
科学计算方法既有数学理论上的抽象性和严谨性,又有程序设计技术上的实用性和实验性。
由于计算机对数值计算的推动和影响,科学计算已成为继科学实验和理论研究之后的科学研究的第三种方法。
科学计算的基本步骤是,先研究数值问题的求解算法,然后在计算机上进行程序实现。
求解算法是计算机程序实现的基础,涉及数值计算的理论与方法。
程序实现是解决问题的具体方式,涉及程序设计方法和程序的描述语言。
1、不需要过多了解各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程。
2、可以专注于实际问题的分析和设计,大大地提高工作效率和质量,为科学研究与工程应用提供重要手段。
数值计算
符号计算
图形绘制
程序流程控制
工具箱
求x^2 - 3x + 1 = 0的根
方法一:利用MATLAB多项式求根函数roots来求根。
p=[1,-3,1]; %建立多项式系数向量p
x=roots(p) %求多项式的根
实际上,通过MATLAB绘图功能绘制f(x)=x^2-3x+1函数曲线,可以知道方程解的大致位置,从图可以看出函数在x=0.5和x=2.5附近通过零点.
x=-5:0.1:5;
%产生x向量,x从-5到5,步长为0.1
y1=x.*x-3*x+1;
%产生函数值向量y1
y2=zeros(size(x));
%产生一个和x向量同大小的零向量
plot(x, y1, x, y2);
%绘制函数曲线(x,y1)和x轴(x,y2)
方法二 : 利用求单变量非线性方程根的函数fzero,求方程在某个初始点附近的实根。
f=@(x) x*x-3*x+1;
%利用MATLAB的匿名函数来定义f(x)
x1=fzero(f, 0.5) %x等于0.5的实根
x2=fzero(f, 2.5) %x等于2.5的实根
方法三:利用最优化工具箱中的方程求根函数fsolve。
f=@(x) x*x-3*x+1;
x1=fsolve(f, 0.5, optimset('Display', 'off'))
%optimset用于设置优化参数,可以调optimset函数来完成,('Display', 'off')表示不显示迭代的中间结果。
x2=fsolve(f, 2.5, optimset('Display', 'off'))
方法四:利用solve函数求方程的符号解,即求得的解是一个表达式。
syms x %定义一个符号变量x
x=solve(x^2-3*x+1)
%调用solve函数求根
x=eval(x) %将符号解转换成数值解