IDL基础
先列后行 arr=indgen(3,4)
SIZE(arr,/dimensions)
print ,where(arr gt7)
print,arr[where(arr gt 7)]
print,where(arr gt 7,cout,COMPLEMENT=com,ncomplement=ncom)
array[WHERE(array GT 5, /NULL)] = 5 arr=indgen(2,8);
arrReform=reform(arr,1,8);维数一定,改变个数
arrRebin=REBIN(arr,2,8);维数一定,改变每一维的倍数
arrCongrid=congrid(arr,1,1)
arrRotate5=ROTATE(ARR,5) arr=indgen(8)
print,arr[sort(arr)];sort()返回排序后的索引 print,uniq(arr,sort(arr));返回arr中的唯一值,即,不重复,如果用uniq(arr)则返回的是将相邻的相同值只取一个,不相邻的却去不了 print,arr1 # arr2;数组相乘
print,arr1 ## arr2;矩阵相乘 print,strmid(str,strlen(str)+1,strlen(str),/reverse_offset);反向截取字符串
file=dialog_pickfile()
print,file hdr=STRMID(file,pointPosition+1,strlen(file)-pointPosition-1) help,strtrim(string(a),1);转换为string并trim掉一边的空格 结构体
str={v1:5,v2:'dfdf'};定义匿名结构体
print,n_tags(str);结构体个成员个数
print,tag_names(str);结构体成员 名称
print,str.v1;某一成员的值 str3={two,inherits one,v4:'1'};two结构体继承自one,并向two添加v4变量
动态扩展
str4=create_struct(str2,'v5',findgen(5));创建结构体,并将str2中的数据也copy过来 指针
data=indgen(5);定义数组
ptr=ptr_new(data);定义指针------ptr_new()
Data=!null;制空
print,*ptr;打印指针,-------*ptr
ptr=ptr_new(data,/no_copy);创建指针后将data制空(undefined)
print,*pt=5;动态赋值还可以动态改变
print,*pt=indgen(5) 链表
obj_destroy,list;销毁list
Obj_valid(list);结果如果为0则说明销毁对象list 逻辑运算符
&&与
||或
~非 位运算符
AND
NOT
OR
XOR异或
if (keyword_set(xxx)) then begin;keyword_set()方法用于判断是否输入xxx 关键字继承
Plotex.por文件
pro plotex,x,y,_extra=_extra
plot,x,y,_extra=_extra ;_strict_extra=_extra严格关键字继承
end
然后在控制台中键入
IDL> x=findgen(100)/10
IDL> plotex,x,sin(x)
IDL> plotex,x,sin(x),thick=2,color=255
效果如下
pro plotex,x,y,_ref_extra=_extra;_ref_extra定义之后plotex只接受下面_extra=[]中指定的变量
plot,x,y,_extra=['thick','color']
End pro plotex,x,y,_strict_extra=_extra
plot,x,y,_extra=_extra ;_strict_extra=_extra严格关键字继承
end 算法优化 a=!null;结果:A UNDEFINED = !NULL
delvar,a;结果:A UNDEFINED = <Undefined>
IDL> a=4
IDL> b=5
IDL> c=temporary(a)+temporary(b)
IDL> help,c,a,b
C INT = 9
A UNDEFINED = <Undefined>
B UNDEFINED = <Undefined>
IDL> 时间控制
TIC:程序开始
TOC:程序结束
EX:
pro plotex,x,y,_ref_extra=_extra
tic
plot,x,y,_extra=['thick','color']
toc
End
结果:% Time elapsed: 0.0069999695 seconds.
IDL> z=shift(dist(40),20,20)
% Compiled module: DIST.
IDL> z=exp(-(z/10)^2)
IDL> surface,z
IDL>
输出为:
数据输入输出:
print,read,reads,string()
IDL> str='123 45 idl'
IDL> a=0
IDL> b=''
IDL> reads,str,a,b
IDL> help,a,b
A INT = 123
B STRING = ' 45 idl' Format---输出格式控制
[n]FC[+][-][width]
Opner 只读操作
Openw 写文件
Openu
File_search() 搜索特定的文件
Dialog_pickfile()
Fstat()
Eof() 判断是否到最后
Close 关闭逻辑设备号
Free_Lun 释放逻辑设备号
;按行读取数据
pro readAndWriteFile
file=dialog_pickfile();打开文件
openr,lun,file,/get_lun;读取文件
temp='';定义中间变量用来存储读取的数据
openw,lunOpen,'F:\envi\Temp\openw1.txt',/get_lun
while(~eof(lun))do begin
readf,lun,temp
printf,lunOpen,temp
Endwhile
free_lun,lun
free_lun,lunOpen
end ;分块读取数据
file=dialog_pickfile()
openr,lun,file,/get_lun
data1=strarr(20)
data2=findgen(6,30)
readf,lun,data1
readf,lun,data2
print,data1
print,data2 ;向导式读取数据
pro ascii_templatemethond
file=dialog_pickfile()
if ~file_test(file) then return
template=ascii_template(file);存为二进制文件
if size(template,/type) eq 2 then return;判断读进来的数据是否为整形
data=read_ascii(file,template=template);读取二进制文件
p=plot(data.(1));用读到的数据的第二列制图
help,data
print,data.(0)
End ;规则数据读取
pro array
file=dialog_pickfile()
openr,lun,file,/get_lun
readf,lun,firstLine
colum=0
row=0
type=0
reads,firstLine,colum,row,type
arr=make_array(colum,row,type=type)
readf,lun,temp1
readf,lun,temp2
;忽略两行
readf,lun,temp3
print,temp3
end 二进制文件读取
Readu
writeu 风云数据读取
file=dialog_pickfile()
openr,lun,file,/get_lun
headline=intarr(3)
point_lun,lun,20;跳过前面20个数据
readu,lun,headline
fyarr=bytarr(1201,1201)
point_lun,lun,2*1201;跳过两行
tvscl,fyarr 读图片
file=dialog_pickfile()
read_jpeg,file,data
tvscl,data,/true;true为1,从help data-->DATA BYTE = Array[3, 600, 400],3在第一个位置,
write_jpeg,"桌面\1.jpg",tvrd(true=1),quality=75,true=1
IDL基础的更多相关文章
- [IDL入门] 两个PPT,IDL上手
首先看看IDL能干什么,<Solving Real Problems with Computer Graphics>ppt是英文的,很精彩. 下载地址:http://pan.baidu.c ...
- 2014年ENVI/IDL遥感应用与开发培训班-11月重庆站 開始报名了
主办单位: 中国遥感应用协会 Esri中国信息技术有限公司 内容简单介绍: 依据中国遥感应用协会栾恩杰理事长推动国内遥感技术和应用的指示精神,2014年中国遥感应用协会组织培训交流部与Esri中国信息 ...
- HTML5移动开发学习笔记之CSS3基础学习
CSS回顾 在学CSS3之前首先巩固下CSS的基础知识. 1.CSS框模型 举例子: #box { width: 70px; margin: 10px; padding: 5px; } 这个代码将出现 ...
- Java基础知识【上】(转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- 【百度文库课程】Java语言基础与OOP入门学习笔记一
一. Java的历史与由来 原名Oak,针对嵌入式系统开发设计,语法与C/C++基本一致 二. Java语言特点 Java由四方面组成:Java编程语言.Java类文件格式.Java虚拟机和Java应 ...
- Java基础常见英语词汇
Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的 ['prəʊɡræmɪŋ]编程 OO: object ...
- RPC 编程 使用 RPC 编程是在客户机和服务器实体之间进行可靠通信的最强大、最高效的方法之一。它为在分布式计算环境中运行的几乎所有应用程序提供基础。
RPC 编程 使用 RPC 编程是在客户机和服务器实体之间进行可靠通信的最强大.最高效的方法之一.它为在分布式计算环境中运行的几乎所有应用程序提供基础.本文介绍 RPC 客户机和服务器之间基本的事件流 ...
- Apache Thrift学习之二(基础及原理)
Apache Thrift 是 Facebook 实现的一种高效的.支持多种编程语言的远程服务调用的框架.本文将从 Java 开发人员角度详细介绍 Apache Thrift 的架构.开发和部署,并且 ...
- JAVA面试基础
JAVA相关基础知识1.面向对象的特征有哪些方面 ?1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂 ...
随机推荐
- 表格实现hao123
一.表格实现hao123用到的标签元素 1.[width][bordercolor][cellpadding][rules="none"隐藏表格内线框][border] 例如: & ...
- Bootstrap入门五:表格
table样式: .table:表格基本样式,很少的padding,灰色的细水平分隔线. .table-striped:斑马纹样式,隔行换色. .table-bordered:为表格和其中的每个单元格 ...
- Node.js 学习(五)Node.js 事件循环
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. Node.j ...
- SQL Server性能优化(5)表设计时的注意事项
一. 是否需要冗余列 现在一些项目的数据库设计中,为了提高查询速度,把基本表的一些列也放到了数据表里,导致数据冗余.例如在热表的数据库里,原始数据表Measure_Heat里加了如房间号,单元号,楼号 ...
- 【BZOJ】【2938】【POI2000】病毒
AC自动机 好题>_<(其实是一次AC有些感动) 嗯要找到无限长的一个字符串不包含任何一个模板串,就意味着在AC自动机(Trie图)上找到一个不经过任何一个危险结点的环,深搜一下就好了…… ...
- 【转载】CreateProcess的用法
第一.第二个参数的用法: 例子: 使用ie打开指定的网页. 注意第二个参数是 可执行文件+命令行参数 #include "stdafx.h" #include <window ...
- 户外物理渗透:终端机,客户端的web测试思路
现在的客户端界面越做越好看了,很多用到了web技术,轻便.界面炫.更新快,但是这样web的缺点也就出来了,就是不稳定,容易受用户等因素影响. 因为很多客户端web是内嵌的,内部通信,所以很多对安全的考 ...
- [geeksforgeeks] Bottom View of a Binary Tree
http://www.geeksforgeeks.org/bottom-view-binary-tree/ Bottom View of a Binary Tree Given a Binary Tr ...
- PHP 路径或URL操作
echo 'documentroot:'.$_SERVER['DOCUMENT_ROOT'].'<br>'; //根目录,在apache的配置文件里定义:httpd.conf 比如:Doc ...
- Sqli-labs less 56
Less-56 与less54.55形式是一致的,我们关注sql语句, $sql="SELECT * FROM security.users WHERE id=('$id') LIMIT 0 ...