查看“数组”的源代码
←
数组
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
==数组== * REFORM 数组变形 :将数组变为制定的维数 A=indgen(20), B=reform(A,2,10) :reform在默认(无输入参数)的情况下将数组变为一维 A=reform(data[1,*]) * 中位值 a=median(A,/even);偶数位的数据,取中间两个数的平均值 * rotate :可以把数组旋转后组成矩阵,类似于列操作。 a=indgen(10) b=indgen(10) c=[rotate(a,1),rotate(b,10] :转置 IDL>print,transpose([a,b]) * reverse :数组反向 :例:数组降序排列,结合sort(默认升序) PRINT, 'Elements of A in descending order: ', A[REVERSE(SORT(A))] *扩维 :fan程序(http://astro.berkeley.edu/~johnjohn/idl.html#FAN ) IDL>print,fan(indgen(3),2) IDL>print,fan(indgen(3),2,/trans) 可以用rebin实现 IDL>print,rebin(indgen(3),3,2) * 多维数组的位置 :用array_indices array = RANDOMU(seed, 10, 10) mx = MAX(array, location) ind=array_indices(array,location) print, ind, array[ind[0],ind[1]], format = '(%"Value at [%d, %d] is %f")' IDL prints: Value at [3, 6] is 0.973381 :数组的位数, print,size(array) :size 还可以用来确定变量的类型 Ctype=size(A,/type), * 数组随机打乱(shuffle) Arr_S=arr[sort(randomu(seed,N_elements(arr))] *数组去重 Arr=Arr[uniq(Arr,sort(arr)) *数组求和 a=total(indgen(10),/cum);输出为数组的累计分布 ==数组和矩阵运算== *For A # B, where A and B are vectors, IDL performs A # TRANSPOSE(B). In this case, C = A # B is a matrix with Cij = Ai Bj. Mathematically, this is equivalent to the outer product, usually denoted by A Å B. *For A ## B, where A and B are vectors, IDL performs TRANSPOSE(A) ## B. In this case, C = A ## B is a matrix with Cij = Bi Aj. *To compute the dot product, usually denoted by A • B, use TRANSPOSE(A) # B. *A # B = B ## A *A # B = (BT # AT)T ;T表示转置运算
返回至“
数组
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
社群首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息