用Matlab写的雅各比i和高斯塞德尔以及SOR迭代法

用Matlab写的雅各比i和高斯塞德尔以及SOR迭代法,第1张

1 用雅克比迭代法和高斯--赛德尔迭代法求解下列方程组,取迭代初值[0;0;0]。

(1) 编程求解,并与用数学软件求解的结果对比。

(2) 考察迭代法的收敛性,若均收敛,对比两种方法的收敛速度。

解:源程序:

①雅克比迭代法:建立函数文件jacobim

function [n,x]=jacobi(A,b,X,nm,w)

%用雅克比迭代法求解方程组Ax=b

%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w为误差精度

%输出:x为求得的方程组的解构成的列向量,n为迭代次数

n=1;

m=length(A);

D=diag(diag(A)); %令A=D-L-U,计算矩阵D

L=tril(-A)+D; %令A=D-L-U,计算矩阵L

U=triu(-A)+D; %令A=D-L-U,计算矩阵U

M=inv(D)(L+U); %计算迭代矩阵

g=inv(D)b; %计算迭代格式中的常数项

%下面是迭代过程

while n<=nm

x=MX+g; %用迭代格式进行迭代

if norm(x-X,2)<w

disp('迭代次数为');n

disp('方程组的解为');x

return;

%上面:达到精度要求就结束程序,输出迭代次数和方程组的解

end

X=x;n=n+1;

end

%下面:如果达到最大迭代次数仍不收敛,输出警告语句及迭代的最终结果(并不是方程组的解)

disp('在最大迭代次数内不收敛!');

disp('最大迭代次数后的结果为');x

②高斯赛德尔迭代法:建立函数文件gaussseidelm

function [n,x]=gaussseidel(A,b,X,nm,w)

%用高斯-赛德尔迭代法求解方程组Ax=b

%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w为误差精度

%输出:x为求得的方程组的解构成的列向量,n为迭代次数

n=1;

m=length(A);

I=eye(m); %生成mm阶的单位矩阵

D=diag(diag(A)); %令A=D-L-U,计算矩阵D

L=tril(-A)+D; %令A=D-L-U,计算矩阵L

U=triu(-A)+D; %令A=D-L-U,计算矩阵U

M=inv(D-L)U; %计算迭代矩阵

g=inv(I-inv(D)L)(inv(D)b); %计算迭代格式中的常数项

%下面是迭代过程

while n<=nm

x=MX+g; %用迭代格式进行迭代

if norm(x-X,2)<w

disp('迭代次数为');n

disp('方程组的解为');x

return;

%上面:达到精度要求就结束程序,输出迭代次数和方程组的解

end

X=x;n=n+1;

end

%下面:如果达到最大迭代次数仍不收敛,输出警告语句及迭代的最终结果(并不是方程组的解)

disp('在最大迭代次数内不收敛!');

disp('最大迭代次数后的结果为');x

运行过程及结果:

①雅克比迭代法的运行过程及结果为:

>> A=[10,3,1;2,-11,3;1,3,12];

b=[2;-5;4];

X=[0;0;0];

nm=50;

w=10^-6;

>> jacobi(A,b,X,nm,w)

迭代次数为

n =

14

方程组的解为

x =

00254

05144

02026

②高斯赛德尔迭代法的运行过程及结果为:

>> A=[10,3,1;2,-11,3;1,3,12];

b=[2;-5;4];

X=[0;0;0];

nm=50;

w=10^-6;

>> gaussseidel(A,b,X,nm,w)

迭代次数为

n =

6

方程组的解为

x =

00254

05144

02026

③用matlab中的A\b命令的运行过程及结果如下:

>> A=[10,3,1;2,-11,3;1,3,12];

b=[2;-5;4];

>> A\b

ans =

00254

05144

02026

(1)由运行结果可知,编程得到的方程组的解为[00254;05144;02026]。而用matlab中的A\b命令求出的方程组的解为[00254;05144;02026],完全一致。

(2)由运行过程可知,两种方法均收敛,雅克比迭代次数为14,高斯赛德尔迭代次数为6,说明后者的迭代速度比前者快。

2用超松弛迭代法求解方程组,分别取松弛因子 ,取迭代初值[0;0;0],迭代30次或满足 时停止计算。

(1) 编程求解,并与用数学软件求解的结果对比。

(2) 考察迭代是否收敛,若收敛,松弛因子取何值时收敛最快,与有关定理的结论对照,看结果是否一致。

解:源程序:

①超松弛迭代法:建立函数文件sor22m

function [n,x]=sor22(A,b,X,nm,w,ww)

%用超松弛迭代法求解方程组Ax=b

%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w为误差精度,ww为松弛因子

%输出:x为求得的方程组的解构成的列向量,n为迭代次数

n=1;

m=length(A);

D=diag(diag(A)); %令A=D-L-U,计算矩阵D

L=tril(-A)+D; %令A=D-L-U,计算矩阵L

U=triu(-A)+D; %令A=D-L-U,计算矩阵U

M=inv(D-wwL)((1-ww)D+wwU); %计算迭代矩阵

g=wwinv(D-wwL)b; %计算迭代格式中的常数项

%下面是迭代过程

while n<=nm

x=MX+g; %用迭代格式进行迭代

if norm(x-X,'inf')<w

disp('迭代次数为');n

disp('方程组的解为');x

return;

%上面:达到精度要求就结束程序,输出迭代次数和方程组的解

end

X=x;n=n+1;

end

%下面:如果达到最大迭代次数仍不收敛,输出警告语句及迭代的最终结果(并不是方程组的解)

disp('在最大迭代次数内不收敛!');

disp('最大迭代次数后的结果为');x

②向后超松弛迭代法:建立函数文件sorxh22m

function [n,x]=sorxh22(A,b,X,nm,w,ww)

%用向后超松弛迭代法求解方程组Ax=b

%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w为误差精度,ww为松弛因子

%输出:x为求得的方程组的解构成的列向量,n为迭代次数

n=1;

m=length(A);

D=diag(diag(A)); %令A=D-L-U,计算矩阵D

L=tril(-A)+D; %令A=D-L-U,计算矩阵L

U=triu(-A)+D; %令A=D-L-U,计算矩阵U

M=inv(D-wwU)((1-ww)D+wwL); %计算矩阵迭代矩阵

g=wwinv(D-wwU)b; %计算迭代格式中的常数项

%下面是迭代过程

while n<=nm

x=MX+g; %用迭代格式进行迭代

if norm(x-X,'inf')<w

disp('迭代次数为');n

disp('方程组的解为');x

return;

%上面:达到精度要求就结束程序,输出迭代次数和方程组的解

end

X=x;n=n+1;

end

%下面:如果达到最大迭代次数仍不收敛,输出警告语句及迭代的最终结果(并不是方程组的解)

disp('在最大迭代次数内不收敛!');

disp('最大迭代次数后的结果为');x

③对称超松弛迭代法:建立函数文件ssor22m

function [n,x]=ssor22(A,b,X,nm,w,ww)

%用对称超松弛迭代法求解方程组Ax=b

%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w为误差精度,ww为松弛因子

%输出:x为求得的方程组的解构成的列向量,n为迭代次数

n=1;

m=length(A);

I=eye(m); %生成mm阶的单位矩阵

D=diag(diag(A)); %令A=D-L-U,计算矩阵D

L=tril(-A)+D; %令A=D-L-U,计算矩阵L

U=triu(-A)+D; %令A=D-L-U,计算矩阵U

%下面计算迭代矩阵和迭代格式中的常数项

M=inv(D-wwU)((1-ww)D+wwL)inv(D-wwL)((1-ww)D+wwU); g=wwinv(D-wwU)(I+((1-ww)D+wwL)inv(D-wwL))b;

%下面是迭代过程

while n<=nm

x=MX+g; %用迭代格式进行迭代

if norm(x-X,'inf')<w

disp('迭代次数为');n

disp('方程组的解为');x

return;

%上面:达到精度要求就结束程序,输出迭代次数和方程组的解

end

X=x;n=n+1;

end

%下面:如果达到最大迭代次数仍不收敛,输出警告语句及迭代的最终结果(并不是方程组的解)

disp('在最大迭代次数内不收敛!');

disp('最大迭代次数后的结果为');x

冰封球或者暴风雪满点,陨石满点,能量护盾尽量满点,传送加1,冰封甲数点,暖气10点左右,剩下的加冰系和火系强化。

熟练应用传送,冰火全免的用雇佣兵或者绕路,弄个野蛮人雇佣兵,给丫的弄点好装备。

我现在练一个80级法师,用一把暗金骸骨小刀加75抗性的,在地狱极爽。这把小刀是在安姐巢穴的第二层小站旁一个法师小BOSS掉的。安姐会掉好多暗金,没事多刷刷。

我推荐暴风雪,

冰冻:冰弹20点,冰风暴20点,冰尖住20点,暴风雪20点。支配冰1点,霜之新星1点,冰封装甲1点。

电系:经典立场1点,心灵要敢1点,传送1点。

火系:温暖1点。

一共87点,75加满(包括所有任务了)等到加满以后你就不是新手了,就可以考虑剩下的怎么加了。

好处:暴风雪打BOSS快,伤害高。

攻击方式:平时用冰封装甲(加防御的,其实没啥大用,找个心里平衡而已)左手冰尖住,冰尖住攻击并不高,但是它的面积大,而且一次就能把非冰免非BOSS的冻住,冻住怪好处都知道了,右面是暴风雪和传送,两个换着用,传几次,打怪,然后在传。

两种加法属性点:

一种是:装备带统治者大盾,力量够装备,敏捷加到格挡75%即可,灵不加,剩下全体。

另一种:力量和敏捷够装备,灵不加,剩下全体

双手仗是垃圾,单手杖最开始推荐眼球,

剩下的要看你练什么系的,大多是冰的,

推荐次元,如果是火电用怪异之球。

3个仗的属性共同点都+3法师技能,

次元碎片是3法师外加冰系法师伤害,

怪异之球外加电系和火系伤害,

眼球属性

攻击时25%出1级传送

+3法师技能

30%高速施展速度

20%防御

+20体力

+20精力

+20所有抗性

每杀一个怪长5点蓝

50取得魔法装备(MF)

如果不考虑+法术伤害,

这武器属性就太强了,

基本没有没用的属性。

次元碎片

单手伤害力: 30-53 (41 平均)

要求级别: 73

耐久度: 50

基础武器速度: [10]

(女巫专用)

+3 级所有技能

20% 快速施放法术

+15-30% 冰技能伤害 (可变)

防电 +25-40% (可变)

防火 +25-40% (可变)

很难搞到的武器,加冰系法术伤害

怪异之球

单手伤害力: 18-50 (34 平均)

要求级别: 72

耐久度: 30

基础武器速度: [-10]

(女巫专用)

+1-3 女巫技能 (可变)

40% 快速施放法术

+10-20% 火技能伤害 (可变)

+10-20% 电技能伤害 (可变)

+20-30 能量 (可变)

( 此属性为 110 属性 )

+3法师技能的才考虑拿,低的直接仍,

剩下的法术伤害越高越好。

神符之语武器橡树之心

+3 所有技能

+40% 高速施展速度

+75% 对恶魔的伤害

+100 对恶魔的准确率

+3-14 冰冷伤害, 3 秒持续时间 (普通)

7% 击中偷取法力

+10 敏捷

生命补满 +20

增加法力上限 15%

所有抗性 +30-40 (可变)

等级 4 橡木智者 (25 次)

等级 14 乌鸦 (60 次)

装备塔拉夏一套,或三件套(衣服腰带项链)戒指最好乔丹之石,

如果带不起,加MF的拿各或加高速施法速度的也非超好。

项链不带塔拉夏项链,带马拉。盾:精神盾(神符之语7#10#9#11#)

和统治者大盾二选1,仗上面写了,头如果不带塔拉夏头,推荐军帽。

腰带不带塔拉夏腰带,推荐加1技能腰带需要等级80名字忘了就那一个。

衣服不带塔拉夏衣服,古龙皮也可以,最好能用符文宝石升级防御1000左右

+1技能+30%高速施展速度。 古龙皮还有一个属性加25-35抗性。

乔丹之石

Ring

戒指

要求级别: 29

+1 级所有技能

提升 mana 上限 25%

+1-12 电伤害

+20 Mana

统治者大盾

防御力: (136-504)-(151-519) 基本防御力 (133-148)

要求级别: 73

要求强壮: 156

抵挡概率: 游侠:77%,亚玛逊/刺客/野蛮人:72%,德鲁伊/男巫/女巫: 67%

游侠冲撞伤害力: 12-34

永不磨损

+(每级 375) 3-371 防御力 (在角色级别基础上)

+25% 抵挡成功率

+35% 快速抵挡率

抵消物理伤害 35%

防冰 +60%

防电 +25%

+30 强壮

敌人受到电伤害 10

军帽属性

防御力: 98-141

要求级别: 62

要求强壮: 50

耐久度: 12

+2 所有技能

+ (15 每级) 1-148 点生命(角色级别基础上)

+ (15 每级) 1-148 点Mana(角色级别基础上)

抵消物理伤害 10%

50% 提升魔法装备出现概率

+2 所有属性

精神盾

盾牌

+2 所有技能

+25-35% 高速施展速度 (可变)

+55% 快速再度攻击

+250 对飞射性防御

+22 体力

+89-112 法力 (可变)

抗寒 +35%

抗闪电 +35%

抗毒 +35%

+3-8 魔法吸收 (可变)

攻击者受到伤害 14

马拉

须要等级: 67

+2 所有技能

所有抗性 +20-30 (可变)

+5 转为所有的属性

(限 109 及以后版本)

80加1技能要带

蜘蛛之网

防御: 119-138 (可变)(基础防御: 55-62)

须要等级: 80

须要力量: 50

耐久度: 12

16 格

+90-120% 防御强化 (可变)

使目标减慢 10%

+1 所有技能

+20% 高速施展速度

增加法力上限 5%

等级 3 毒牙 (11 次)

(限 110 及以后版本)

防御: 279 (基础防御: 111-126)

须要等级: 29

须要力量: 43

耐久度: 24

+120% 防御强化

+1 所有技能

30% 高速施展速度

法术伤害减少 9-13 (可变)

所有抗性 +20-35 (可变)

(限 109 及以后版本)

升级以后1000左右防御。

1-5EDCAD;6-10ADDBB;11-14D,C,C,ABD;2.SOA:(面向服务体系结构)是一个分布式软件;SOD:(面向服务开发)是基于SOA概念和SOC;SOE:(面向服务企业)是一个通过SOA系统实现;SOI:(面向服务的基础设施)①支持SOC的硬件;SOSE:(面向服务的系统工程)是系统工程、软件;3OOC范型和SOC范型在需求分析

1-5EDCAD

6-10ADDBB

11-14D, C, C, ABD

2.SOA:(面向服务体系结构)是一个分布式软件体系结构,它是通过松散耦合的服务构建的系统软件这些服务通过标准接口,例如WSDL(Web服务描述语言)接口,以及标准的消息交换协议,例如SOAP(简单对象访问协议)互相通信。这些服务是自治和独立于平台的。它们驻留在不同的计算机上并且为了实现期望的目标和最终结果使用彼此的服务。 SOC: (面向服务计算)是基于SOA模型的计算范型。它包括三个并发进程中表示的计算概念、原理以及方法。这三个并发进程是服务开发、服务发布以及使用发开出的服务进行应用组合。

SOD:(面向服务开发)是基于SOA概念和SOC范型的整个软件开发周期,包括需求、问题定义、概念模型、规格说明、体系结构设计、组合、服务发现、服务实现、测试、评估、部署和维护,这些活动将实现可运行的软件。

SOE:(面向服务企业)是一个通过SOA系统实现的一个并能外向展示业务过程的一系列技术。SOE为管理采用SOA技术的业务过程提供了一个框架。

SOI:(面向服务的基础设施)①支持SOC的硬件和软件。②一个硬件系统可以像软件系统那样按面向服务的方式组织起来。

SOSE:(面向服务的系统工程)是系统工程、软件工程和面向服务计算的一个组合,它建议在系统工程原则下开发面向服务的软件和硬件,这些原则包括需求、建模、规格说明、验证、设计、实现、确认、运行以及维护。

3OOC范型和SOC范型在需求分析上有什么区别。

面向对象的需求分析基于面向对象的思想,以用例模型为基础。开发人员在获取需求的基础上,建立目标系统的用例模型。所谓用例是指系统中的一个功能单元,可以描述为操作者与系统之间的一次交互。用例常被用来收集用户的需求。

(P5)

(1) SOC强调的是分布式服务(包含可能的服务数据)而不是分布式对象。

(2) SOC明确区分开发责任、软件提供服务、服务中介,通过服务消费者构建应用。

(3) SOC支持库(公共和私有)中重用服务的匹配、发现和调用(远程或本地)

(4) 在SOC中,服务通过独立于平台和供应商的开发标准和协议通信。

4把服务提供者和应用构建者分开的主要优点是什么?

SOC这种范型把开发者分成独立但相互协作的三方:应用构建者、服务中介、服务提供者。服务提供者的职责是开发具有标准接口的软件服务。

服务中介发布或市场化可用服务。

应用构建者通过服务中介发现可用的服务并使用服务开发新的应用,通过发现和组合而不是传统的设计和编码来开发应用。

换言之,应用开发是三方协作的结果。服务和平台无关并且松散耦合,因此在组合服务时,可以使用不同提供者开发的服务。

因此,把服务提供者和应用构建者分开的主要优点是:这种面向服务的体系机构给应用构建者最大的灵活性去选择最好的服务中介以及服务。

5SOSE的主要技术是什么?对于每一项技术,用一两句话描述它的目的。

6比较传统软件开发过程和面向服务软件开发过程。描述开发过程中的每一步的目的、职责和功能。

在传统的软件开发过程中,整个过程往往由开发者所在组织管理。面向服务软件的开发分为三个平行的过程:服务开发,服务发布到服务中介,应用构建(组合)。

①一个面向对象(OOC)应用由同一个团队使用相同的语言开发,而一个面向服务(SOC)应用是通过已开发好的服务创建,这些开发好的服务由独立的服务供应商开发。应用构建者通过服务目录和服务库,查询所需服务。如果服务无法找到,应用者可以发布需求或自己开发。服务提供者则根据自己的需求分析或查询目录中发布的需求来开发服务。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/meirong/3388131.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-02-22
下一篇2024-02-22

随机推荐

  • 伊思芙洗发水怎么样

    很好。根据查询齐家网显示:伊思芙是一家专业的洗发水品牌,洗发水主要是以植物精华为主要原料,不含硅油,SLS,SLES等有害物质,有较好的洗发效果,且对头皮和头发比较温和,适合各种发质使用。这款贵妇膏很好。根据伊思芙官网资料显示,熊宝伊思芙贵

    2024-04-15
    24900
  • 雅诗兰黛黑松露和白金眼霜哪个好

    总体来说,雅诗兰黛黑松露和白金眼霜都有自己的优势,具体选择哪个更好,取决于您的需求和喜好。雅诗兰黛黑松露眼霜专注于淡化泪沟和收紧眼袋,质地柔软致密,有亮线和亮hei圈的功能。白金眼霜则专注于紧致细纹和提亮眼睛,质地轻盈易吸收。此外,白金眼霜

    2024-04-15
    17600
  • 混合肌精华液推荐8款必推精华液

    在这个炎热的夏天,很容易缺水和缺水。混合肌的T字部位容易出油,两颊会比较干,所以皮肤会经常出现油水不平衡!很多混合肌在选择护肤品的时候,经常会面临“想改善却不知道从何下手”“哪个不会太油或者太干”之类的恼人问题!面对琳琅满目的精华液,你不知

    2024-04-15
    16300
  • 全球公认最好用的10大唇膏

    全球公认最好用的10大唇膏如下:1、曼秀雷敦天然植物润唇膏产品以植物提取精华为基础,除了具有相当的保湿、锁水功能外,天然食品级成分也让人觉得很安心。2、Vaseline凡士林玫瑰润唇膏这款玫瑰润唇膏可以说是他家的网红产品了,主打成分自然是凡

    2024-04-15
    13400
  • 美容院套盒拆了用了一次能退钱吗

    美容院的套盒拆开使用后,通常情况下是不能退钱的。这是因为已经拆封使用的套盒会影响二次销售,且由于其属于化妆品类型,所以可能会影响退换货。如果存在质量问题,您可以与美容院协商退换。如果套盒没有质量问题,那么可能就没有理由要求退货了。不过,具体

    2024-04-15
    9000
  • 在那能买到正品的妮维雅止汗珠

    您好,止汗珠属于爽身香体的一种,让爽身香体专家——舒耐来为您解答吧!一般的爽身香体产品在全国的屈臣氏、万宁及家乐福等大型卖场都有售卖,如果你所在的地区没有这些门店的话,建议你可以上品牌天猫旗舰店、京东或者1号店购买,期待您对舒耐的关注!很抱

    2024-04-15
    16200
  • 妮维雅和欧莱雅哪个好?妮维雅是哪国的品牌?

    妮维雅这个品牌大家都比较熟悉,很多人都会想到它们家的洗面奶,还经常被拿来和其他的护肤品牌做比较,比如说欧莱雅这个品牌,因为欧莱雅的护肤产和妮维雅一样也是有男士和女士的,那妮维雅和欧莱雅哪个好?妮维雅是哪国的品牌?1、妮维雅和欧莱雅哪个好妮维

    2024-04-15
    9600

发表评论

登录后才能评论
保存