⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sor.m

📁 基于Matlab的程序
💻 M
字号:
function ysor=sor(ef)
n=100;
h=1/n;
a=0.5;
ysor=zeros(1,n+1);
ysor(n+1)=1;
%用试算法求最佳松弛因子
w=1.1;
error1=99;
for j=1:3
    for m=1:10
       for k=1:3
          error=0;  
          for i=2:n
             yy=ysor(i);                   
         ysor(i)=(-a*h^2/(2*ef+h)+(ef+h)*ysor(i+1)/(2*ef+h)+ef*ysor(i-1)/(2*ef+h))*w+yy*(1-w);            
             error=error+abs(yy-ysor(i));
          end  
       end
      if error<=error1
         error1=error;
         wopt=w;
      end
    w=w+0.1^j;
    end  
   w=wopt-0.5*(0.1^j);
end
fprintf('最佳松弛因子:%f', wopt);

for k=1:1000
    error=0;  
          for i=2:n
             yy=ysor(i); 
         ysor(i)=(-a*h^2/(2*ef+h)+(ef+h)*ysor(i+1)/(2*ef+h)+ef*ysor(i-1)/(2*ef+h))*wopt+yy*(1-wopt);            
             error=error+abs(yy-ysor(i));
          end    
if error/(n-1)<0.0001,break;end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -