print format,Python中format函数

文章 3年前 (2021) admin
0

Q1:IDL中: IDL> print,34,format='(b)' 100010 如果我要把100010存为一个变量因该怎么做??

楼主如果仅仅是想显示一下二进制形式,不妨就用字符串的形式,使用string函数并指定format来实现:a = string(34, format = "(b)")print, a如果结果有更多用途,那么建议自己写程序转换,实际上网上已经有许多现成的,可以搜索一下,下面给出一个链接:http://www.astro.washington.e/docs/idl/cgi-bin/getpro/library32.html?DEC2BIN

Q2:用IDL编写程序,读取了一个感兴趣区域的数值,请问如何写程序将数值求和?

total函数可以对数组求和:d1=indgen(100)sum=total(d1)

Q3:求IDL代码。输入一个数组,然后计算该数组所有数字的累加和与平均数(要求弹出输入框输入数组列数)

首先定义浮点型数组,依次输入10个数字,计算累加和,最后输出平均值。参考代码:# include int main(){ int I;float avg=0.0,a[10];for(I=0;i10i ){scanf("%f ",a;[I]);avg=a[I];} printf("%.2f ",avg/10);返回0;}/*运算结果:1 2 3 4 5 6 7 8 9 04.50*/

Q4:在IDL中 arr=findgen(10)*100.0, print,arr,format='(10f6.1) 中format=‘(10f6.1)'怎么来的 有什么用

建议和帮助![n]FC[][-][宽度]字段n的含义表示格式控制器的重复次数,默认值为一次FC格式代码:格式控制器。详情和示例见表1-3。输出数字前加前缀" ",只有数字打印格式有效——控制字符串和数字输出左对齐,默认输出右对齐宽度输出数字或字符宽度。

Q5:IDL中数字的精度问题:需要定义一个浮点型数组,如【40411323.654,42583654.878】并进行运算。

可以这样定义 a=dlbarr(2) a[0] = 40411323.654da[1] = 42583654.878d或者直接 a = [40411323.654d,42583654.878d]如果不写d,小数默认是float类型,就会损失精度对于你这样的情况,IDL先解析40411323.654成float类型,就是40411324.000,再强制转换到double,前一步已经损失精度了可以使用print,a,format="(f0.3)"查看小数点后三位有效数字

Q6:请教一个IDL简单计算的问题

pv为植被覆盖度,由下式计算:PV=[(ndvi-ndvisoil)/(ndviveg-ndvisoil)],其中ndvi为归一化差异植被指数,ndvisoil为完全被裸土覆盖或无植被覆盖区域的ndvi值,ndviveg为完全被植被覆盖像素的ndvi值,即纯植被像素的NDVI值。取ndviveg=0.70、ndvisoil=0.05的经验值,即当一个像素的ndvi大于0.70时,pv值为1;当ndvi小于0.05时,pv为0。在bandmath中,输入表达式:(B1 gt 0.7)* 1(b1lt 0.05)* 0(b1ge 0.05和b1le0.7) * ((b1-0.05)/(0.7-0.05)),其中b1: NDVI。结果是植被覆盖。

版权声明:admin 发表于 2021年10月24日 下午7:08。
转载请注明:print format,Python中format函数 | 热豆腐网址之家

相关文章