日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

共轭梯度法求解线性方程组

發(fā)布時(shí)間:2025/3/13 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 共轭梯度法求解线性方程组 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
function [k,x]=Conjugate_gradient(A,b,x0,esp)

%% 參數(shù)說明% 采用共軛梯度算法求解線性方程組

% 輸入?yún)?shù)% A為線性方程組系數(shù)矩陣

% b為線性方程組值矩陣

% x0為給定初值向量

% esp為終止誤差

% 輸出參數(shù)

% k為迭代次數(shù)

% x為線性方程組的解矩陣

%% 共軛梯度法主程序

n=size(A,1); % 定義維數(shù)

x=x0;

r=b-A*x; % 定義初始搜索方向

d=r;

for k=0:n-1 ?

alpha=(r'*r)/(d'*A*d); ?

x=x+alpha*d; ?

r1=b-A*x; ?

if (norm(r1)<=esp | (k==n-1)) ?

x; ?

break; ?

end ?

beta=norm(r1)^2/norm(r)^2; ?

d=r+beta*d;

end系數(shù)矩陣

% b為線性方程組值矩陣
% x0為給定初值向量
% esp為終止誤差
% 輸出參數(shù)
% k為迭代次數(shù)
% x為線性方程組的解矩陣
%% 共軛梯度法主程序
n=size(A,1); ?% 定義維數(shù)
x=x0;
r=b-A*x; ? ? % 定義初始搜索方向
d=r;
for k=0:n-1
? ? alpha=(r'*r)/(d'*A*d);
? ? x=x+alpha*d;
? ? r1=b-A*x;
? ? if (norm(r1)<=esp | (k==n-1))
? ? ? ? x;
? ? ? ? break;
? ? end?
? ? ? ? beta=norm(r1)^2/norm(r)^2;
? ? ? ? d=r+beta*d;
end
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的共轭梯度法求解线性方程组的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。