MATLABA快速入门(六):数值微积分

简介: MATLABA快速入门(六):数值微积分

数值微积分


1.数值微分


dx=diff(x):计算向量x的向前差分


dx=diff(x,n):计算向量x的n阶向前差分


dx=diff(A,n,dim):计算矩阵A的n阶差分,dim等于1时(默认状态),按列计算差分,dim等于2时,按行计算差分。


2.数值积分


基于自适应辛普森方法


[I,n]=quad(filename,a,b,tol,trace)


基于自适应Gauss-Lobatoo方法


[I,n]=quadl(filename,a,b,tol,trace)


基于全局自适应积分方法


I=integral(filename,a,b)


filename是被积函数名;a和b分别是积分上限和下限,tol用来控制积分精度,


trace控制是否展现积分过程,取非0则展现积分过程,取0则不展现,默认trace=0;返回参数I为定积分的值,n为被积函数的调用次数。


基于自适应高斯-克朗罗德方法


[I,err]=quadgk(filename,a,b)


err返回近似误差范围。


基于梯形积分法


I=trapz(x,y)


或者I=sum(diff(x).*(y(1:end-1)+y(2:end))/2)


其中,向量x,y定义函数关系y=f(x),


a3823e977022524f5c2e9e74de63562f_eq_I%3D%5Csum_%7Bi%3D1%7D%5E%7Bn-1%7Dh_%7Bi%7D%5Cfrac%7By_%7Bi+1%7D+y_%7Bi%7D%7D%7B2%7D.png


其中,


二重积分的数值解:


I=integral2(filename,a,b,c,d)


I=quad2d(filename,a,b,c,d)


I=dblquad(filename,a,b,c,d,tol)


三重积分的数值解:


I=integral3(filename,a,b,c,d,e,f)


I=triplequad(filename,a,b,c,d,e,f,tol)


f1347f95c910c3b7b76a259ff6602b53_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_20,color_FFFFFF,t_70,g_se,x_16.png


3.非线性方程组数值求解


3.1单变量非线性方程求解


X=fzero(filename,x0)


其中,filename是待求方程式左端的函数表达式,x0是初始值


X=fsolve(filename,x0,option)


option用于设置优化工具箱的优化参数,可以用optimest函数来完成

a1ace0bcde7a19f6988d08ad3061ec09_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_20,color_FFFFFF,t_70,g_se,x_16.png


3.2 无约束最优化问题


[xmin,fmin]=fminbnd(filename,x1,x2,option)


[xmin,fmin]=fminsearch(filename,x0,option)


[xmin,fmin]=fminunc(filename,x0,option)


其中,xmin表示极小值点,fmin表示最小值,x1,x2分别表示被研究区间的左右边界,x0是一个向量,表示极值点的初值。


3.3 有约束条件最小值的函数


[xmin,fmin]=fmincon(filename,x0,A,b,Aeq,beq,Lbnd,Ubnd,NonF,option)


A,b,Aeq,beq,Lbnd,Ubnd,NonF为约束条件

1ee30f6a5b753d7e683316994df646cc_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_20,color_FFFFFF,t_70,g_se,x_16.png


4.常微分方程数值求解


调用格式为[t,y]=solver(filename,tspan,option)其中,t和y分别给出时间向量和相应的数值解,filename是定义f(t,y)的函数名,该函数必须返回一个列向量,tspan形式为[t0,tf],表示求解区间,y0是初始状态向量。


a9ed6125fa0c4f65beffd9f6b977185a_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_18,color_FFFFFF,t_70,g_se,x_16.png


求解结果绘图如下:

9a97ee9cabde91dbbe00da2b3158f1f7_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_16,color_FFFFFF,t_70,g_se,x_16.png


目录
相关文章
|
7月前
|
C语言
c语言编程练习题:7-9 求整数均值
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内
79 0
R语言笔记丨从零学起?环境安装、基础知识、运算法则、数据类型(下)
R语言笔记丨从零学起?环境安装、基础知识、运算法则、数据类型(下)
|
机器学习/深度学习 数据挖掘 Linux
R语言笔记丨从零学起?环境安装、基础知识、运算法则、数据类型(上)
R语言笔记丨从零学起?环境安装、基础知识、运算法则、数据类型
R语言笔记丨矩阵、数组介绍
R语言笔记丨矩阵、数组介绍
|
人工智能 开发者
行列式概述 | 学习笔记
快速学习行列式概述
行列式概述 | 学习笔记
[再寄小读者之数学篇](2014-12-24 乘积型不等式)
$$\bex \int f^2g \leq C\sen{f}_{L^2}^\frac{5q-4}{3q-2} \sen{\p_3f}_{L^q}^\frac{q}{3q-2} \sen{g}_{L^2}^\frac{q-2}{3q-2} \sen{\n_hg}_{L^2}^\frac{2q}{3q-...
842 0
[再寄小读者之数学篇](2014-11-14 矩阵的应用: 代数)
Hilbert 零点定理: 设 $\bbF$ 是一个代数闭域, $L$ 是 $\bbF[x_1,\cdots,x_n]$ 的一个真理想, 则 $$\bex \exists\ (a_1,\cdots,a_n)\in\bbF^n\ra f(a_1,\cdots,a_n)=0,\quad\forall\ f\in L.
655 0
|
机器学习/深度学习
[再寄小读者之数学篇](2014-07-17 行列式的计算)
试计算矩阵 $A=(\sin(\al_i+\al_j))_{n\times n}$ ($n\geq2$) 的行列式.   提示:  根据行列式的性质: (1) 行列式两列线性相关, 则行列式为零; (2) 若记第 $k$ 列为向量 $\al$ 的行列式为 $D(\al)$, 则 $$\b...
732 0
[再寄小读者之数学篇](2014-07-16 高阶导数的一个表达式)
设 $f\in C^{n+1}(\bbR)$, 试证: 对 $\forall\ a\in\bbR$, $$\bex \frac{\rd^n}{\rd x^n}\sez{\frac{f(x)-f(a)}{x-a}}_{x=a}=\frac{f^{(n+1)}(a)}{n+1}.
547 0

热门文章

最新文章