我是靠谱客的博主 酷酷小蘑菇,最近开发中收集的这篇文章主要介绍matlab中矩阵的差分迭代(或者循环)该怎么表示?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近用matlab编程时发现这样一个问题:

比如我想用X(k)=[1 2 3;4 5 6;7 8 9],B=[3 2 1;6 5 4; 9 8 7] 完成 X(k)=X(k-1)*B 的计算,发现无法表示X的初始值是[1 2 3;4 5 6;7 8 9],如果用语句:X(1)=[1 2 3;4 5 6;7 8 9],程序就会报错:

这种问题有一个很好用的解决办法【万能的互联网啊!】,就是三维矩阵

图片演示一下就很直观了:

1、首先在matlab的命令行中输入 zeros(3,4,2),回车,就会出现3行4列2页的矩阵:

 2、如果输入zeros(3,4,3),就会产生3行4列3页的矩阵:

 也就是说括号里最后一个数字是几,就会产生对应几页的矩阵。(这“几页”就可以看成迭代的次数,后边会举例)

3、如果输入a=zeros(3,4,3),然后输入a(1,1,1)=1,就可看到第1页的第1行第1列被赋值为1:

                 

:4、若再输入a(1,1,2)=3,a矩阵第2页的第1行第1列被赋值为3。

三维矩阵的知识就介绍到此,我们来利用它解决最开始的问题。 

要实现X(k)=X(k-1)*B,则令

X(:,:,1)=[1 2 3;4 5 6;7 8 9]

for p=1:n

     X(:,:,p+1)=X(:,:,p)*B

end

即可实现。

最后

以上就是酷酷小蘑菇为你收集整理的matlab中矩阵的差分迭代(或者循环)该怎么表示?的全部内容,希望文章能够帮你解决matlab中矩阵的差分迭代(或者循环)该怎么表示?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部