1、变量的设置: 创建索引数组练习。Bindgen(),findgen()等 ……………(代码及运行结果) 创建全零数组。Fltarr()等 创建字符串及字符串数组。 2.字符串数组的使用。 Strtrim()、strmid()、strpos()。 3.创建结构体并访问它。 ……………. 4.创建指针并访问,释放它。 ……………. 5.运算符号的使用 数学运算符:幂(^)、取余(mod)、取小(<)和取大(>)。 逻辑运算:&&, ||, 和 ~。 关系运算:EQ、NE、GE、GT、LE、LT。 数组运算符:#、##、求逆、转置运算。 其他符号? 6.数组的操作 Size、where、reform、rebin、congrid()、rotate()、rot()、transpose、reverse、 make_array
时间: 2023-07-10 21:34:50 浏览: 230
php compact 通过变量创建数组
抱歉,作为一个语言模型,我无法运行代码或提供代码示例。但我可以为您解释和回答您的问题。
1. 变量的设置
a. 创建索引数组
在IDL中,可以使用bindgen()和findgen()函数来创建索引数组。
bindgen(n)函数将创建一个长度为n的数组,每个元素的值等于其下标。
```
IDL> a = bindgen(5)
IDL> print, a
0 1 2 3 4
```
findgen(n)函数将创建一个长度为n的数组,每个元素的值等于其下标加1。
```
IDL> a = findgen(5)
IDL> print, a
1 2 3 4 5
```
b. 创建全零数组
使用IDL中的flarr()函数可以创建一个全零数组。
```
IDL> a = fltarr(3,4)
IDL> print, a
0.0000000 0.0000000 0.0000000 0.0000000
0.0000000 0.0000000 0.0000000 0.0000000
0.0000000 0.0000000 0.0000000 0.0000000
```
c. 创建字符串及字符串数组
在IDL中,可以使用字符串常量或变量来创建单个字符串。例如:
```
IDL> str = 'Hello World'
IDL> print, str
Hello World
```
要创建字符串数组,可以使用字符串常量或变量,并将它们放在花括号中。例如:
```
IDL> strs = ['Hello', 'World']
IDL> print, strs
Hello World
```
2. 字符串数组的使用
a. Strtrim()
Strtrim()函数可用于删除字符串开头和结尾的空格。例如:
```
IDL> str = ' Hello World '
IDL> str = strtrim(str)
IDL> print, str
Hello World
```
b. Strmid()
Strmid()函数可用于提取字符串的子串。例如:
```
IDL> str = 'Hello World'
IDL> substr = strmid(str, 3, 5)
IDL> print, substr
lo Wo
```
c. Strpos()
Strpos()函数可用于在字符串中查找另一个子字符串的位置。例如:
```
IDL> str = 'Hello World'
IDL> pos = strpos(str, 'Wo')
IDL> print, pos
7
```
3. 创建结构体并访问它
在IDL中,可以使用struct定义结构体类型。例如:
```
IDL> struct = {name:'', age:0, gender:''}
```
要访问结构体的成员,可以使用"."运算符。例如:
```
IDL> person = {name:'John', age:30, gender:'male'}
IDL> print, person.name
John
```
4. 创建指针并访问,释放它。
在IDL中,可以使用PTR_NEW()函数创建指针,并使用PTR_FREE()函数释放指针。例如:
```
IDL> ptr = PTR_NEW(42)
IDL> print, *ptr
42
IDL> PTR_FREE, ptr
```
5. 运算符号的使用
a. 数学运算符
IDL支持常见的数学运算符,包括幂(^)、取余(mod)、取小(<)和取大(>)等。
b. 逻辑运算符
IDL支持逻辑运算符&&, ||, 和 ~。
c. 关系运算符
IDL支持关系运算符EQ、NE、GE、GT、LE、LT。
d. 数组运算符
IDL支持数组运算符#、##、求逆、转置运算等。
6. 数组的操作
a. Size()
Size()函数可用于获取数组的大小。例如:
```
IDL> a = [[1,2,3],[4,5,6]]
IDL> print, size(a)
2 3
```
b. where()
where()函数可用于返回数组中满足条件的元素索引。例如:
```
IDL> a = [1,2,3,4,5]
IDL> indices = where(a GT 3)
IDL> print, indices
3 4
```
c. reform()
reform()函数可用于改变数组的形状。例如:
```
IDL> a = [[1,2],[3,4],[5,6]]
IDL> b = reform(a, 2, 3)
IDL> print, b
1 2 3
4 5 6
```
d. rebin()
rebin()函数可用于更改数组的大小。例如:
```
IDL> a = [1,2,3,4,5,6,7,8]
IDL> b = rebin(a, 2, 4)
IDL> print, b
1 3 5 7
2 4 6 8
```
e. congrid()
congrid()函数可用于插值数组。例如:
```
IDL> a = [[1,2],[3,4]]
IDL> b = congrid(a, 3, 3)
IDL> print, b
1 1.66667 2
2 2.66667 3
3 3.66667 4
```
f. rotate()
rotate()函数可用于旋转数组。例如:
```
IDL> a = [[1,2],[3,4]]
IDL> b = rotate(a, 1)
IDL> print, b
3 1
4 2
```
g. transpose()
transpose()函数可用于转置数组。例如:
```
IDL> a = [[1,2],[3,4],[5,6]]
IDL> b = transpose(a)
IDL> print, b
1 3 5
2 4 6
```
h. reverse()
reverse()函数可用于反转数组。例如:
```
IDL> a = [1,2,3,4,5]
IDL> b = reverse(a)
IDL> print, b
5 4 3 2 1
```
i. make_array()
make_array()函数可用于创建指定大小和类型的数组。例如:
```
IDL> a = make_array(2, 3, /DOUBLE)
IDL> print, a
0.0000000 0.0000000 0.0000000
0.0000000 0.0000000 0.0000000
```
阅读全文