- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 数值分析代码7-拉格朗日插值,牛顿插值
题目1:下表是自然对数lnx的部分数表,利用拉格朗日插值求ln(0.6);x0.40.50.70.8ln x-0.916291-0.693147-0.356675-223144通过表格可以看出共有n+1=4个插值点,所以n=3,通过拉格朗日插值定义建立拉格朗日插值多项式,代码块如下:%n=3时拉格朗日插值clc;clear;syms x;x0=[0.4 0.5 0.7 0.8];y0=[-0.916291 -0.693145 -0.356675 -0.
2021-07-04 10:08:20
1188
原创 数值分析6-离散数据点的最小二乘法拟合多项式代码
题目:给出以下数据:xi-1-0.75-0.5-0.2500.250.5 00.751.00yi-0.22090.32950.88261.43922.00032.56453.13343.70614.2836利用最小二乘法,求他们的一次、二次拟合多项式,写出正规方程组并求出最小平方逼近多项式。(注意:连续时称为逼近,离散时称为拟合,最佳逼近和小二乘拟合思路近似)首先给出求一次拟合多项式的代码:%最小二乘拟合-一次多项式clear;clc
2021-07-04 00:13:01
2699
1
原创 数值分析5-用SOR法求解方程组Ax=b的matlab程序
题目如图所示:要求程序中不存系数矩阵A,分别对不同的阶数取w=1.1, 1.2, …,1.9进行迭代;首先编写根据矩阵的阶数生成系数矩阵的函数,然后再SOR迭代程序中调用此函数;观察系数矩阵的规律,编写函数SOR_A如下:代码块1:根据阶数生成系数矩阵:function [A,b]=SOR_A(n)A1=(-4)*eye(n);for i=1:n for j=1:n if i==j+1 L(i,j)=1; else L(i,j)=
2021-01-29 22:02:53
3994
原创 数值分析4-解线性方程组的雅可比迭代法,高斯-塞德尔法的matlab程序
代码块1:雅可比迭代法:clear;clc;fprintf('雅可比迭代法解线性方程组:\n')n=input('请输入系数矩阵A的阶数:n=');A=input('请输入系数矩阵A:A=');b1=input('请输入结果向量b1:b1=');%b为行向量,计算时需要转置x1=input('请输入初始向量x1:x1=');%x1为行向量,计算时需要转置eps=input('请输入停止精度要求:eps=');%产生分裂矩阵A=D-L-Ufor i=1:n for j=1:n
2021-01-25 22:10:02
1732
原创 数值分析3-解线性方程组的高斯消去法、LU分解法及列主元消去法的matlab程序和调试方法
对于形如Ax=b的线性方程组,在线性代数中是通过求逆的方式求解的,即x=A-1b,而在数值分析中,解线性方程组的方法是通过直接法或者迭代法来实现的,今天写的两个程序为都属于直接法,分别为高斯消去法和LU分解法。所谓高斯消去法,就是线性代数中通过把系数矩阵化为行阶梯矩阵然后求解的方法,而LU分解法和高斯消去法十分相似,只不过是回代过程有所不同,所以我把这两个程序放在一起写了。程序中用到了较多的循环语句,要仔细分析一下,不然写的过程中很容易出错。首先是高斯消去法:代码块1:高斯消去法clear;clc
2021-01-24 23:32:30
7663
原创 数值分析2-解非线性方程的不动点迭代法,斯蒂芬森(steffensen)迭代法,牛顿法以及简化牛顿法的matlab程序
对于形如f(x)=0的单变量非线性方程,可以构造不同的迭代函数进行迭代求根,以f(x)=x3-x-1为例,我们可以简单的通过等式变形构造出x=x3-1和x=(x+1)(1/3)两种等价形式;也可以自己增加x的表达式构建x=(1/2)×(x3+x-1),所以同一个非线性方程可以构建无穷多的等价形式,只要最终可以化简成f(x)=0的形式就行;不动点迭代是最基础的迭代法,其代码如下:代码块1:%不动点迭代法1clc;clear;syms x;%定义变量xf(x)=input('请输入函数表达式,变量
2021-01-23 16:52:39
8853
16
原创 数值分析1-二分法解非线性方程的matlab程序
数值分析1-二分法解非线性方程组:二分法通过逐次搜索法确定有根区间[a,b],取其中点x0=(a+b)/2将求根区间分成相等的两部分,若中点x0为方程的根,则直接求出方程的根,若x0不是方程的根,则对根进行搜索,判断f(x0)与f(a),f(b)是否同号,若f(x0)与f(a)同号则所求根在x0的右侧,令a1=x0,b1=b,若f(x0)与f(b)同号则所求根在x0的左侧,令a1=a,b1=x0,进行一次迭代后求根区间[a,b]缩小一半变为[a1,b1],对于压缩后的求根区间[a1,b1]进行上述的同样
2021-01-18 22:25:45
6504
T_APF_SVPWM_17b.slx
2021-02-09
buck_boost_buckboost_17b.slx
2021-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人