矩阵分析
矩阵分析
篱落~~成殇~~
敲最好的代码,写最美的人生
展开
-
线性方程组迭代解法——雅可比(Jacobi)迭代法,Gauss-Seidel迭代法和超松弛(SOR)迭代法
线性方程组迭代解法——雅可比(Jacobi)迭代法1、算法思想2、算法流程3、matlab实现function [x]=Jacobi(A,b,x0)%%%输入线性方程组系数矩阵A,右端列向量b和初始向量x0;%%%采用雅可比迭代法求解方程组的数值解;%%%输出数值解x。[~,m]=size(A);A_diag=diag(A);A(1:m+1:end)=0;flag=1;x=x0;while flag for i=1:m x(i)=(b(i)-A(i,:)原创 2020-12-16 18:36:49 · 27043 阅读 · 21 评论 -
0.618法求解凸函数极小值(内附matlab代码)
%%%% 0.618法 %%%%%%%%%% Liu Deping %%%%%%%%%% 2020.09.21 %%%%%clc;clear allformat shorts=input('请输入函数表达式:f = ','s');f=inline(s);a = input('请输入区间左端点a的值:');b = input('请输入区间左端点b的值:');eps= input('请输入运算精度:'); %%“|b-a|<=eps”原创 2020-09-21 23:50:52 · 5465 阅读 · 0 评论 -
超定方程组最小二乘解法——正规方程组求解(matlab代码)
超定方程组最小二乘解法——正规方程组求解(matlab代码)function [AA,AB,X]=normal_equ(A,B)%%%输入系数矩阵A,右端1列向量B;%%%采用求解对于正定方程组的方法求解超定方程组的最小二乘解;%%%输出正定矩阵AA,右端系数矩阵AB,最小二乘解,检验误差error_L2。[~,n]=size(A);x=lsqr(A,B);AA=zeros(n,n);AB=zeros(n,1);for i=1:n for j=1:n AA(i,j)原创 2020-12-15 14:26:10 · 4260 阅读 · 1 评论 -
《矩阵分析》Ⅳ——三对角矩阵的追赶法matlab实现
《矩阵分析》Ⅳ——三对角矩阵的追赶法matlab实现1、算法思想2、matlab实现function [P,Q,X]=Thomas(A,B)%%%使用追赶法计算三对角矩阵线性方程组:%%%输入三对角矩阵A和列向量B;%%%输出方程的解X。[n,~]=size(A);P=eye(n);Q=zeros(n);Q(1,1)=A(1,1);for i=2:n Q(i-1,i)=A(i,i-1); P(i,i-1)=A(i,i-1)/Q(i-1,i-1); Q(i,i原创 2020-12-01 20:55:21 · 8675 阅读 · 2 评论 -
《矩阵分析》代码Ⅲ——Doolittle分解、Crout分解、Cholesky分解求解线性方程组matlab实现
《矩阵分析》代码Ⅲ——Doolittle分解、Crout分解、Cholesky分解求解线性方程组matlab实现注意:三种分解方法求解过程都会用到三角矩阵的回代法。小编之前已经写过三角矩阵回代法程序!!关于代码可参考:https://blog.csdn.net/m0_46498899/article/details/109223781(一)Doolittle分解1.1 算法思想n阶线性方程组系数矩阵A可以分解成单位下三角矩阵L和上三角矩阵R,即1.2 matlab实现function [原创 2020-12-01 20:27:40 · 10718 阅读 · 4 评论 -
超定方程组的householder变换求解matlab实现
超定方程组的householder变换求解matlab实现1、matlab实现function [R,b,X]=L_equation_householder(A,B)%%%输入方程组系数矩阵A和右端列向量B;%%%利用householder变换将矩阵变换为上三角矩阵,并同时对B进行变换;最后利用上三角矩阵回代法;%%%输出上三角矩阵R,右端列向量b(前n个元素组成的列向量),方程的解X。[m,n]=size(A);for k=1:n temp_A=A(k:m,k:n); %取出aij原创 2020-11-28 22:12:19 · 2996 阅读 · 1 评论 -
超定方程组的经典Gram-Schmidt正交化解法
超定方程组的经典Gram-Schmidt正交化解法matlab代码function [Q,R,X]=Gram(A,B)%%%输入超定方程组(列满秩)系数矩阵A和右端列向量B;%%%采用Gram-Schmidt正交化过程解最小乘二问题;%%%输出正交矩阵Q,上三角矩阵R和最小二乘解X。[m,n]=size(A);Q=zeros(m,n);R=zeros(n,n);for k=1:n v=A(:,k); for i=1:k-1 R(i,k)=Q(:,i)'*A(原创 2020-11-26 13:23:54 · 886 阅读 · 0 评论 -
householder变换解线性方程组matlab实现
householder变换解线性方程组matlab实现1、matlab代码(1)符号函数代码function S=sgn(a)%%%输入向量a;if a(1)>=0 S=1;else S=-1;end(2)householder变换求线性方程组代码function [R,B,X]=householder(A,b)%%%输入方程组系数矩阵A和右端列向量b;%%%利用householder变换将矩阵变换为上三角矩阵,并同时对b进行变换;最后利用上三角矩阵回代法;%原创 2020-11-19 19:51:40 · 4637 阅读 · 4 评论 -
《矩阵分析》代码Ⅱ——gauss消元法,列主元素法,总体主元素法matlab实现
《矩阵分析》代码Ⅱ(一)gauss消元法1.1 算法思想(1)算法大体思想:(2)算法具体实现:1.2 matlab代码实现function X=Gauss(A,B)%%%此函数用于通过Gauss法,计算方程组的解;%%%输入系数矩阵A和列向量B;%%%输出方程组的解。[n,~]=size(A);AB=[A,B];for k=1:n for i=k+1:n L=-AB(i,k)/AB(k,k); AB(i,k)=0; f原创 2020-10-23 18:49:04 · 1920 阅读 · 1 评论 -
《数值分析》课程matlab源码Ⅰ——向量范数,矩阵范数,上、下三角回代法
《数值分析》课程matlab源码(一)向量范数1.1 定义范数的定义如下:1.2 matlab函数实现通过自定义Vector_norm(a,p)函数实现对向量a的1范数、2范数、p范数和inf范数的计算,具体代码如下:function X=Vector_norm(a,p)%%%输入向量a和所求的向量的范数类型(包括1范数,2范数,p范数,inf范数);%%%输出向量a的范数值;n=length(a);X=0;Test=0;switch p case 1 fo原创 2020-10-22 18:55:40 · 3713 阅读 · 4 评论