遥感建模与开发_实习指导书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实习一 IDL使用环境

一、实习目的

熟悉IDL的界面并掌握IDL平台的基本操作。

二、原理与方法

三、实习仪器与数据

四、实习步骤

1、熟悉IDL的界面

2、尝试IDL命令行的工作方式

在命令行输入下面命令:

IDL> read,deg

IDL> radian=deg*!pi/180

IDL> print,radian

3、尝试过程和函数的工作方式,建立、保存和运行过程/函数过程:

Pro test

Read,deg

radian=deg*!pi/180

print,radian

end

函数:

function test,deg

radian=deg*!pi/180

return,radian

end

4、完成实习报告

要求包括实习目的、ENVI编程环境的基本构成、对IDL命令行、过程和函数这3种编程形式的初步认识,最好有自己初次接触ENVI软件的使用感受。

实习二 IDL基本命令

一、实习目的

掌握IDL的基本编程技巧,掌握过程和函数的编写,练习课程中讲授的基本编程知识。

二、原理与方法

三、实习仪器与数据

四、实习步骤

1、创建各种变量,并利用help函数跟踪变量类型和大小

IDL> a=1

IDL> help,a

IDL> b=3

IDL> help,b

IDL> b=-1.3

IDL> help,b

IDL> b=2e-2

IDL> help,b

IDL> c='I am a student~'

IDL> help,c

2、创建数组,

IDL> arr=[1,2,3,4]

IDL> help,arr

IDL> print,arr

IDL> arr=[[1,2,3],[4,5,6]]

IDL> help,arr

IDL> print,arr

3、创建各种表达式:数值型表达式、字符型表达式、关系型表达式等

IDL> a=2

IDL> b=3

IDL> c=3.2

IDL> print,a*2+b

IDL> print,c^2

IDL> print,9 mod 2

IDL> print,'i '+'am '+'a student'

IDL> help,a gt b

4、If语句

编程计算下面的公式并输出y的值。

pro test

x=3

if x ge 0 then begin

y=9+5*x^2

endif else begin

y=9-5*x^2

endelse

print,'y=',y

end

5、for语句

输出*的图形,最顶层为1个*,最底层为10个*,依次递增。

pro test

for i=0,9 do begin

arr=replicate('*',i+1) ;创建i+1个元素值都为”*”的一维数组

print,arr

endfor

end

6、while语句

输出*的图形,最顶层为1个*,最底层为10个*,依次递增。

pro test

while i le 9 do begin

arr=replicate('*',i+1)

print,arr

i++

endwhile

end

7、编写过程,将角度转为弧度

Pro test

deg=180

radian=deg*!pi/360

print,radian

end

8、编写函数,将角度转为弧度

function test,deg

radian=deg*!pi/360

return,radian

end

IDL> print,test(180)

1.57080

9、完成实习报告

要求包括实习目的、各种变量、数组与表达式的创建,控制语句IF、FOR、WHILE、函数和过程的基本形式。

实习三 IDL数组及运算

一、实习目的

学习IDL数组的定义、格式、下标操作,数组的基本运算,包括最值、均值、方差等,数组的查询定位操作,以及数组的重排列。

二、原理与方法

三、实习仪器与数据

四、实习步骤

1、利用函数创建数组

IDL> arr1=intarr(6)

IDL> print,arr1

IDL> arr2=indgen(6)

IDL> print,arr2

IDL> arr=indgen(2,2)

IDL> print,arr

IDL> arr=replicate(3.2,2,3)

IDL> print,arr

IDL> arr1=make_array(3,2,/byte)

IDL> arr1=make_array(3,2,/byte,/index)

IDL> print,arr1

IDL> arr1=make_array(3,2,value=12L)

IDL> print,arr1

IDL> sz=size(arr)

IDL> arr1=make_array(size=sz)

2、数组的下标操作

IDL> arr=indgen(6)

IDL> print,arr[2]

IDL> index=[2,4]

IDL> print,arr[index]

IDL> print,arr[2:4]

IDL> print,arr[*]

IDL> print,arr[3:*]

IDL> i=2

IDL> print,arr[i:i+2]

3、数组的性质,包括数组大小、类型、最大最小值、均值、方差、标准差和总和

IDL> arr=fltarr(10,20)

IDL> print,size(arr)

IDL> print,size(arr,/dimensions)

IDL> print,size(arr,/type)

IDL> print,size(arr,/n_elements)

IDL> arr=[1,3,4.2,6,-2.3,3.2]

IDL> print,max(arr),min(arr)

IDL> print,mean(arr),variance(arr),stddev(arr)

IDL> print,total(arr)

4、数组元素的定位,where函数

IDL> arr=findgen(10)

相关文档
最新文档