(六)【Matlab】数值微积分与方程求解

【Matlab】

A 数值微分与数值积分

A.a数值微分

在这里插入图片描述

在这里插入图片描述
计算差分之后,可以计算 f x f(x) 在某点的差商,计算 f ( x ) f'(x) 的近似值。
例子:
在这里插入图片描述

A.b 数值积分

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例子:
在这里插入图片描述

在这里插入图片描述
例子:
在这里插入图片描述

B 线性方程组求解

B.a 直接法

在这里插入图片描述

在这里插入图片描述
例子:在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
L和U都是三角阵。
在这里插入图片描述
在这里插入图片描述
例子:
在这里插入图片描述

B.b 迭代法

在这里插入图片描述

在这里插入图片描述

jacobi.m

function [y,n]=jacobi(A,b,x0,ep)
	D=diag(diag(A)); % 对角阵
	L=-tril(A,1);
	U=-triu(A,1);
	B=D\(L+U);
	f=D\b;
	y=B*x0+f;
	n=1;
	while norm(y-x0)>=ep
		x0=y;
		y=B*x0+f;
		n=n+1;	
	end

在这里插入图片描述
gauseidel.m

function [y,n]=jacobi(A,b,x0,ep)
 	D=diag(diag(A)); % 对角阵
	L=-tril(A,-1);
 	U=-triu(A,1);
 	B=(D-L)\U;
 	f=(D-L)\b;
 	y=B*x0+f;
 	n=1;
 	while norm(y-x0)>=ep
	  	x0=y;
 	 	y=B*x0+f;
  		n=n+1; 
 	end

例子:
在这里插入图片描述
有时候高斯-赛德尔迭代法求解线性方程组可能不收敛。
在这里插入图片描述
在这里插入图片描述

C 非线性方程求解与函数极值计算

C.a 非线性方程数值求解

在这里插入图片描述例子:
在这里插入图片描述

在这里插入图片描述
例子:
在这里插入图片描述

C.b函数极值的计算

在这里插入图片描述
Matlab只考虑最小值问题的计算,如果要求 f ( x ) f(x) 的最大值,可以求 f ( x ) -f(x) 的最小值。

在这里插入图片描述
在这里插入图片描述
fminbnd:一元函数
fminsearch:单纯形法。多元
fminunc:拟牛顿法。多元
例子:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
AX <= b(线性不等式约束)
AeqX = beq(线性等式约束)
G(x) <= 0(非线性不等式约束)
Ceq(X) = 0(非线性等式约束)
Lbnd <= X <= Ubub(变量约束)
例子:
在这里插入图片描述

D 常微分方程数值求解

D.a常微分方程数值求解的一般概念

在这里插入图片描述
在这里插入图片描述


D.b 常微分方程数值求解函数

在这里插入图片描述
在这里插入图片描述
例子:
在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述


D.c 刚性问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


图片来源:
https://www.icourse163.org/search.htm?search=%E4%B8%AD%E5%8D%97%E5%A4%A7%E5%AD%A6%20Matlab#/

发布了63 篇原创文章 · 获赞 15 · 访问量 5529

猜你喜欢

转载自blog.csdn.net/weixin_44378835/article/details/104499607