IDL矩阵运算.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IDL矩阵运算

阵就是数组。 矩阵初始化:用中括号[]而不是圆括号() 矩阵元素取值:可用中括号或者圆括号 例: IDL A=[[1,2],[3,4]] IDL print,a 1 2 3 4 IDL print,a[0] 1 IDL print,a(1) 2 IDL print,a[1,1] 4 获取矩阵的第一行: print,A[*,0] IDL print,a[*,0] 1 2 获取矩阵的第二行: print,A[*,1] 获取矩阵的第一列: print,A[0,*] IDL print,a[0,*] 1 3 获取i行j列元素,A[j,i](注意列在前行在后) IDL PRINT,A[0,1] 3 A#B相当于 B乘A,而A*B没有什么意义。 如果不可乘,也会有一个结果,自动转换比如A=(1,2),B=(2,3,4) A#B= 2 4 3 6 4 8 B#A= 2 3 4 4 6 8 矩阵转置: TRANSPOSE(A) 或者ROTATE(A,1) 如果仅仅是打印,可以使用PM,A PM, array 就是 PRINT, TRANSPOSE(array) 例子: ; Define an array arr arr = [[1.0, 3.0], [0.0, 4.0], [2.0, 1.0]] ; Print using PM and PRINT PM, arr PRINT PRINT, arr IDL prints: 1.00000 0.000000 2.00000 3.00000 4.00000 1.00000 1.00000 3.00000 0.000000 4.00000 2.00000 1.00000 求逆矩阵: MATRIX_POWER(A,-1) 该函数同样可以求矩阵的其他次方 MATRIX_POWER(A,-2) 矩阵元素乘方: A^2 IDL print,a 1 2 3 IDL print,a^2 1 4 9 要注意: a^-1语法错误,要写成a^(-1) a^-1不是a的逆阵,而是内部元素的倒数构成的矩阵,但是有一个问题:都是整数,比如2,倒数不是0.5,而是0 解决办法是,A的其中一个元素必须是浮点数,比如 [1,2],[2,4] 可以写成[1,2.0],[2,4]这样就对了。 如何对不同的列/行增加不同的数值?比如A的第一列加2,第二列加1 IDL A=[[1,2,3],[4,5,6],[7,8,9]] IDL PRINT,A 1 2 3 4 5 6 7 8 9 IDL B=[TRANSPOSE(replicate(2,3)),TRANSPOSE(replicate(1,3)),TRANSPOSE(replicate(0,3))] IDL PRINT,B 2 1 0 2 1 0 2 1 0 IDL PRINT,A+B 3 3 3 6 6 6 9 9 9 更简便的方法,就是直接对某行某列进行运算 第一列加2:A(0,*)= A(0,*)+2 如何交换一行、列? 交换第一列和第三列过程如下: IDL A=[[1,2,3],[4,5,6],[7,8,9]] IDL PRINT,A 1 2 3 4 5 6 7 8 9 IDL TEMP = A[0,*] IDL A[0,*]=A[2,*] IDL A[2,*]=TEMP IDL PRINT,A 3 2 1 6 5 4 9 8 7 行列求和 IDL A=[[1,2,3

文档评论(0)

df829393 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档