当前位置:文档之家› 地理数据分析与建模集中实习日志(四)(武大遥感).doc

地理数据分析与建模集中实习日志(四)(武大遥感).doc

地理数据分析与建模集中实习口志(四)
首先,
针对matlab中不熟悉的语法进行复习:
1.size函数
[r z c]=size(A)
当有两个输出参数时,size函数将矩阵的行数返I叫到第一个输出变量r,将矩阵的列数返"I 到第二个输出变量c
r=size(A,l)该语句返回的时矩阵A的行数,c=size(A z2)该语句返回的时矩阵A的列数
2.增广矩阵
不同于线性代数中,在系数矩阵的右边添上一列。

matlab中为原矩阵新添加一列
[A B],把矩阵A和矩阵B合并到一起
3.Y = round(X)
在matlab中round也是一个四舍五入函数。

4.使用“stem”绘制针状图
注意:
神经网络的输入和输出数据要求每列是一个样本
偏最小二乘每行是一个样本
其次,
更正指导书中一个错误
matlab代码如下:
spectrumMean_sets=spectrumMean_sets';
%以计算TP (因变量,真实值)为例
[XL,yl,XS,YS,beta,PCTVAR] = plsregress(spectrumMean_sets,TP/10);
yfit = [ones(size(spectrumMean_sets,l)/l) spectrumMean_sets]*beta;%矩阵前加一列1 以对应常数项(回归系数BETA,其中第一行是常数项(因为它乘以对应的1,是一个常数,即常数项)
不管任何回归模型
格式一般都是:y=ax1+bx2+cx3+d
spectrumMean_sets在最左添加了一列1后,成了56*2152,正好可以乘系数矩阵beta (abed 的值是固定的,适用于任何变量,而d常数项,是该列第一个)
维度如下spectru mMea n_sets <56x2151 double>
[Jj beta
fT' 1 <2152x1 double>
residuals = TP-yfit;%残差等于真实值减去模型值figure;
stem(residuals) %计算残差
xlabel('Observation');
ylabel('Residuar);
残差结果图。

相关主题