MATLAB 多组数据分别进行 一次线性拟合现有i01~i15 十五组1024×1280的矩阵x为1×15的矩阵;i01到i15每一个对应的点组成新的矩阵然后与x一次线性拟合(这里如果说的不太清楚不好理解的话 请参考
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 23:58:00
MATLAB 多组数据分别进行 一次线性拟合现有i01~i15 十五组1024×1280的矩阵x为1×15的矩阵;i01到i15每一个对应的点组成新的矩阵然后与x一次线性拟合(这里如果说的不太清楚不好理解的话 请参考
MATLAB 多组数据分别进行 一次线性拟合
现有i01~i15 十五组1024×1280的矩阵
x为1×15的矩阵;
i01到i15每一个对应的点组成新的矩阵然后与x一次线性拟合(这里如果说的不太清楚不好理解的话 请参考下我后面写的程序)如此该得到1024×1280个线性拟合结果,我想把它先保存起来,后面插值的时候要用的拟合的函数
i16同样为1024×1280的矩阵,它每个点的值对应之前的每个拟合过的函数(也就是calibration curve )可求得每个点的x值;(这一步还不知道怎么编程)
我尝试编了如下的程序:
p=cell{1024,1280};
for i=1:1280
for j=1:1024
x=[0.2,8,17.8,25.1,32.3,46.5,50.2,54.5,58.1,62.2,66.3,70.2,75.2,80.3,82.7];
y(i,j)=[i01(i,j),i02(i,j),i03(i,j),i04(i,j),i05(i,j),i06(i,j),i07(i,j),i08(i,j),i09(i,j),i10(i,j),i11(i,j),i12(i,j),i13(i,j),i14(i,j),i15(i,j)];
p{i,j}=polyfit(x,y(i,j),1);
end
end
程序出错,
拟合的结果里面是y=ax+b里的a和b吗?
不知道拟合的结果该如何保存 是不是不该用cell
The result of calling the static method or constructor "cell" cannot be indexed with
cell array indexing.
MATLAB 多组数据分别进行 一次线性拟合现有i01~i15 十五组1024×1280的矩阵x为1×15的矩阵;i01到i15每一个对应的点组成新的矩阵然后与x一次线性拟合(这里如果说的不太清楚不好理解的话 请参考
x=[0.2,8,17.8,25.1,32.3,46.5,50.2,54.5,58.1,62.2,66.3,70.2,75.2,80.3,82.7];
p=cell(1280,1024);
for i=1:1280
for j=1:1024
\x05y=[i01(i,j),i02(i,j),i03(i,j),i04(i,j),i05(i,j),i06(i,j),i07(i,j),i08(i,j),i09(i,j),i10(i,j),i11(i,j),i12(i,j),i13(i,j),i14(i,j),i15(i,j)];
p{i,j}=polyfit(x,y,1);\x05%这样每一个p的细胞元中,都存有k和b
end
end