矩阵指数 matlab,矩阵指数 - MATLAB Simulink Example - MathWorks 中国

方法 1:加权平方

expmdemo1 是以下著作中算法 11.3.1 的实现:

Golub, Gene H. and Charles Van Loan.Matrix Computations, 3rd edition.Baltimore, MD:Johns Hopkins University Press, 1996.

% Scale A by power of 2 so that its norm is < 1/2 .

[f,e] = log2(norm(A,'inf'));

s = max(0,e+1);

A = A/2^s;

% Pade approximation for exp(A)

X = A;

c = 1/2;

E = eye(size(A)) + c*A;

D = eye(size(A)) - c*A;

q = 6;

p = 1;

for k = 2:q

c = c * (q-k+1) / (k*(2*q-k+1));

X = A*X;

cX = c*X;

E = E + cX;

if p

D = D + cX;

else

D = D - cX;

end

p = ~p;

end

E = D\E;

% Undo scaling by repeated squaring

for k = 1:s

E = E*E;

end

E1 = E

E1 = 3×3

5.3091 4.0012 5.5778

2.8088 2.8845 3.1930

5.1737 4.0012 5.7132

方法 2:泰勒级数

expmdemo2 使用矩阵指数的经典定义,表示为幂级数

eA=∑k=0∞1k!Ak.

A0 是与 A 具有相同维度的单位矩阵。作为一种实用的数值方法,如果 norm(A) 太大,此方法将很慢且不准确。

A = Asave;

% Taylor series for exp(A)

E = zeros(size(A));

F = eye(size(A));

k = 1;

while norm(E+F-E,1) > 0

E = E + F;

F = A*F/k;

k = k+1;

end

E2 = E

E2 = 3×3

5.3091 4.0012 5.5778

2.8088 2.8845 3.1930

5.1737 4.0012 5.7132

方法 3:特征值和特征向量

expmdemo3 假定矩阵包含一组完整的特征向量 V,使得 A=VDV-1。矩阵指数可以通过对特征值的对角矩阵求幂来计算:

eA=VeDV-1.

作为一种实际的数值方法,准确性由特征向量矩阵的条件确定。

A = Asave;

[V,D] = eig(A);

E = V * diag(exp(diag(D))) / V;

E3 = E

E3 = 3×3

5.3091 4.0012 5.5778

2.8088 2.8845 3.1930

5.1737 4.0012 5.7132

比较结果

对于此示例中的矩阵,所有三种方法都同样有效。

E = expm(Asave);

err1 = E - E1

err1 = 3×3

10-14 ×

0.3553 0.1776 0.0888

0.0888 0.1332 -0.0444

0 0 -0.2665

err2 = E - E2

err2 = 3×3

10-14 ×

0 0 -0.1776

-0.0444 0 -0.0888

0.1776 0 0.0888

err3 = E - E3

err3 = 3×3

10-14 ×

-0.7105 -0.5329 -0.7105

-0.6661 -0.5773 -0.8882

-0.7105 -0.7105 -0.9770

泰勒级数失败

对于某些矩阵,泰勒级数中的项在变为零之前变得非常大。因此,expmdemo2 失败。

A = [-147 72; -192 93];

E1 = expmdemo1(A)

E1 = 2×2

-0.0996 0.0747

-0.1991 0.1494

E2 = expmdemo2(A)

E2 = 2×2

106 ×

-1.1985 -0.5908

-2.7438 -2.0442

E3 = expmdemo3(A)

E3 = 2×2

-0.0996 0.0747

-0.1991 0.1494

特征值和特征向量失败

以下是不包含一组完整的特征向量的矩阵。因此,expmdemo3 失败。

A = [-1 1; 0 -1];

E1 = expmdemo1(A)

E1 = 2×2

0.3679 0.3679

0 0.3679

E2 = expmdemo2(A)

E2 = 2×2

0.3679 0.3679

0 0.3679

E3 = expmdemo3(A)

E3 = 2×2

0.3679 0

0 0.3679

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

向导设计模式

我们都喜欢巫师……。 &#xff08;我的意思是软件向导&#xff09;。 我们总是很高兴跳上那些“下一步”按钮&#xff0c;就像我们在我们的时髦的小鸡上跳舞一样。 因此&#xff0c;今天我们将您心爱的向导带入您的编码经验中。 让我们跳入一个例子。 假设您要设计一个Conserv…

IO(三)字节流练习

public class ByteStreamDemo {/*int available(); 可以取得输入文件的大小&#xff08;字节个数&#xff09;,没有返回0void close(); 关闭输入流abstract int read(); 读取一个字节&#xff0c;并把读…

基于matlab的人脸五官边缘检测方法,人脸边缘检测方法研究与仿真

人脸表情是人类情感的主载体之一,它含有丰富的人体行为信息。通过脸部表情能够表达人微妙的情绪反应以及对应的心理状态[1],人脸表情识别技术随着人们对表情信息的日益重视而受到关注,现已成为人们研究的热点。基于几何特征提取是一个快速、直接、有效的人脸表情识别方法,运用基…

GWT –利弊

我喜欢JavaScript。 随着jQuery和Mootools的出现&#xff0c;我对JavaScript的热爱仅增加了很多倍。 只要有选择&#xff0c;我就可以将上述框架中的任何一个用于我开发的任何Web应用程序。 但是进入服务行业后&#xff0c;我不得不一次次屈服于客户的压力&#xff0c;并在他们…

秦九韶算法matlab实验报告,数值分析上机实验报告.doc

实验报告一题目&#xff1a; (绪论) 非线性方程求解及误差估计摘要&#xff1a;非线性方程的解析解通常很难给出&#xff0c;因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法、Newton法和改进的Newton法。可以节省计算机的计算时间&#xff0c;还能减小…

Flex 布局教程:语法篇

网页布局&#xff08;layout&#xff09;是CSS的一个重点应用。 布局的传统解决方案&#xff0c;基于盒状模型&#xff0c;依赖 display属性 position属性 float属性。它对于那些特殊布局非常不方便&#xff0c;比如&#xff0c;垂直居中就不容易实现。 2009年&#xff0c;W3…

练习错误

form:阻止表单提交的方法一&#xff1a;在form标签中给出以下代码&#xff1a; 1 onsubmit "return False" 方法二&#xff1a;设置事件阻止 1 e.preventDefault() js中判断&#xff1a;只要非数字都应该表示为字符串 1 if(Email.indexOf("") -1){ 2 …

JavaFX 2中的PopupMenu

创建弹出菜单 要在JavaFX中创建Popupmenu&#xff0c;可以使用ContextMenu类。 您向其中添加MenuItems&#xff0c;也可以使用SeparatorMenuItem创建可视分隔符。 在下面的示例中&#xff0c;我选择子类ContextMenu并将MenuItems添加到其构造函数中。 public class Animatio…

matlab中CH指标聚类评价指标,MATLAB聚类有效性评价指标(外部)

MATLAB聚类有效性评价指标(外部)作者&#xff1a;凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/更多内容&#xff0c;请看标签&#xff1a;MATLAB、聚类前提&#xff1a;数据的真实标签已知&#xff01;1. 归一化互信息(Normalized Mutual information)定义程序functio…

学习进度表

周数 专业学习目标 专业学习时/每分钟 新增代码量 知识技能总结 第六周 ps的图像处理 80 30 看书加以实践 第七周 数据结构的链式结构 100 50 多做习题加以巩固知识 第八周 网页设计 80 30 多多练习&#xff0c;学会用代码设计 第九周 图片美工 70 30 慢慢学会运用软…

Axis通过wsdd部署Web Service

axis网上的教程很多&#xff0c;不过搜来搜去&#xff0c;总是只有那么几篇。仔细看了一下那几篇文章&#xff0c;都感觉到不是自己想要的&#xff0c;所以自己整理了一篇分享一下。 本文介绍axis应用的一个小例子&#xff0c;没有麻烦的命令行操作&#xff0c;只需照下面的步骤…

弹簧特性

1.概述 本教程将展示如何通过XML或Java配置在Spring中设置和使用属性 。 在Spring 3.1之前 &#xff0c;将新的属性文件添加到Spring并使用属性值并不像它那样灵活和健壮。 从Spring 3.1开始 &#xff0c;新的Environment和PropertySource抽象大大简化了此过程。 2.通过XML名…

php-cgi cpu很高,php-cgi占用cpu资源过高的解决方法

转的网上的&#xff0c;不过对PHP-CGI菜鸟的人&#xff0c;还是有点帮助的。1. 一些php的扩展与php版本兼容存在问题&#xff0c;实践证明 eAccelerater与某些php版本兼容存在问题&#xff0c;具体表现时启动php-cgi进程后&#xff0c;运行10多分钟&#xff0c;奇慢无比&#x…

《做中学》读后有感

《做中学》读后有感 最近读了娄老师的“做中学”系列文章&#xff0c;有很大感触&#xff0c;今天想着重谈一谈我在学习方面收到的启发。 如何成功get一项技能 如果问到“如何开始get一项技能”&#xff0c;我想我们应该是最有发言权的一代。从小就被爸爸妈妈引导着参加各种课外…

多表之间关联查询

内连接 jion on 自连接 本表进行内连接的查询形式 外链接&#xff1a; 左链接 写法&#xff1a;select 字段 from 表1 t left join 表2 s on t.字段1 s.字段1 where 条件 或者 作用&#xff1a;保证左边的表的数据全部显示&#xff0c;包括空的 右链接 写法 &#xff1a;sele…

php文件夹0777,PHP代码mkdir(‘images’,’0777′)创建一个具有411权限的文件夹!为什么?...

我发誓这是昨天的工作.然而,现在下面的代码破坏文件夹没有问题,但创建一个具有411权限的新文件夹应该是777.我的代码昨天这样做.这样做的目的是压缩文件夹,传递文件夹,删除图像,然后为图像创建新目录.有人能告诉我我做错了什么或我应该做什么&#xff1f;谢谢function delete_d…

调查HashDoS问题

近一个月前&#xff0c;我就如何在不与供应商互动的情况下临时解决 28C3上出现的HashDoS问题或其他代码缺陷发表了一些想法。 现在是时候更深入地研究复杂性攻击并查看来源了。 我完全假设java.util.HashMap和java.util.Hashtable是受此攻击影响的最常用的Java数据结构&#xf…

Linq 和 EF Contains示例

List<int> unitIDListnew List<int>(); //此处添加int元素 var query DB.ElecConsumers.Where(c > unitIDList.Contains(c.ParentUnitID)); //EF方式 var query1 (from c in DB.ElecConsumers where unitIDList.Contains(c.ParentUnitID ) select c); //Linq方…

date 显示或设置系统时间和日期

显示或设置系统时间和日期 date [options] [format] date [options] [new date] date用来显示系统的时间和日期&#xff0c;超级用户可以使用date来更改系统时钟 选项 %H 小时&#xff0c;24小时制&#xff08;00~23&#xff09; %I 小时&#xff0c;12小时制&#xff…

Java 7:WatchService

在Java 7的所有新功能中&#xff0c;更有趣的是WatchService&#xff0c;它增加了监视目录更改的功能。 WatchService直接映射到本机文件事件通知机制&#xff08;如果有&#xff09;。 如果本机事件通知机制不可用&#xff0c;则默认实现将使用轮询。 结果&#xff0c;响应性&…