那怎么把波长值同时插进到第一列呢?
时间: 2024-02-20 22:57:48 浏览: 181
如果需要将波长值插入到反射率数据的第一列,可以按照以下步骤进行操作:
1. 读取波长值数据,假设波长值数据存储在名为 "wavelengths.mat" 的文件中。这个文件应该包含一个名为 "wavelengths" 的变量,其中存储了所有波段的波长值。
```
load('wavelengths.mat');
```
2. 将 Ph 数组变形为一个二维数组,其中每一行表示一个像元的所有波段的反射率。
```
Ph_2d = reshape(Ph, size(Ph,1)*size(Ph,2), size(Ph,3));
```
3. 创建一个大小为 [size(Ph,3), size(Ph_2d,1)+1] 的空数组,用于存储反射率数据和波长值数据。
```
data = zeros(size(Ph,3), size(Ph_2d,1)+1);
```
4. 将第一列填充为波长值,即从 "wavelengths" 变量中取出所有波长值。
```
data(:,1) = wavelengths;
```
5. 遍历每个波段,将其反射率数据存储到 data 数组中。
```
for i = 1:size(Ph,3)
data(i,2:end) = Ph_2d(:,i)';
end
```
6. 将反射率和波长值数据保存为 .asc 文件。
```
save('output.asc', 'data', '-ascii');
```
这样就可以得到一个名为 output.asc 的 ASC 文件,其中第一列为波长值,第二列到最后一列为各个波段的反射率数据。
阅读全文