作业帮 > 综合 > 作业

matlab怎么拟合?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 20:58:22
matlab怎么拟合?
x=[126.39 121.28 130.17 88.05 75.59 93.31 101.46 103.53 112.54 120.27 123.26 124.2 91.08 99.1 100.11 99.13 101.04 109.38 114.58 119.1 120.1 118.32 110.21]
y=[51.43 50.3 46.49 47.44 39.28 42.49 36.03 42.24 41.33 41.46 40.03 29.04 28.39 25.43 25.08 21.52 27.27 27.07 34.36 30.14 28.36 20.02]
z=[464.36 471.5 536.59 417 650.29 278.57 408.47 139.07 990.14 1146.3 1261.5 1849.1 1234.5 2325 1664.1 1876.1 975.34 1073.9 573 399.45 213.9 216.16]
拟合 x,y关于z的函数 最好帮忙算下结果 感激不尽
首先x是1*23的矩阵,而y和z都是 1*22的矩阵
所以我把x的第一项删掉使之成为1*22的矩阵
然后通过matlab的多元回归函数regress
具体的代码
1)需要将x,y,z进行转置使他们成为列向量
2)建立X矩阵,X=[ones(size(x)) x y x.*y x.^2 y.^2];
3)g=regress(z,X)
g =
2.998920667488923e+004
-4.076087379739453e+002
-2.954820093855327e+002
3.782944397205363e+000
1.162343949930842e+000
-2.185423839859468e+000
这样建立的目的是z这个函数的表达式是:g(1)+g(2)*x+g(3)*y+g(4)*x*y
+g(5)*x^2+g(6)*y^2;g的具体表达式为上面的,比如:g(1)=2.9989206……