数学建模的一个问题 卡了很久了 急

用matlab编程遍历dem数据(是txt),就是用一个3×3的矩阵去遍历DEM,并统计出这个单元格中的中心单元格的平均高程值,用这个平均高程值除以3×3的矩阵遍历的所有单元格的平均值的和,请问怎么编写这个程序呢?谢谢了!! 具体能加qq吗 @tianxiawulang
其实是一道数学建模题 希望高人能联系一下我 加q q 说也行 或许你们有不同的思路 急急急急

第1个回答  2015-07-30
建议用排列组合的思路试试看

参考代码如下
clc
clear all
close all

dem = 1:10; % 假设是txt中数据
m = 9; % 为生成3*3矩阵做准备
v_m = combntns(dem,m); % 因为要遍历,所以把所有可能组合都求出来,一种组合就是一行
[r,c] = size(v_m); % v_m的行数r即为组合个数,列数c即为每个组合中元素个数

avr_v = zeros(1, r); % 每种组合对应一个平均高程值

for i=1:r
matrix_3_3 = reshape(v_m(i,:), 3, 3); % 构造3*3矩阵
avr_v(i) = det(matrix_3_3); % 这里仅为举例,求的是矩阵对应的行列式,请自行改为求高程值公式
end

Sum_avr_v = sum(avr_v); % 所有单元格平均值的和
r_avr_v = avr_v/Sum_avr_v; % 每个单元格高程值除以求得的和追问

恩恩恩恩 能加一下您qq吗 还有一些疑问!!想问您!!!

本回答被提问者和网友采纳
相似回答