MATLAB如何画三维散点图并且拟合公式(只要拟合的好,什么样的公式都行) 50
抗压强度C=[13.614.214.915.516.417.718.319.621.522.723.223.723.92424.225.726.826.827.528.3...
抗压强度C=[13.6 14.2 14.9 15.5 16.4 17.7 18.3 19.6 21.5 22.7 23.2 23.7 23.9 24 24.2 25.7 26.8 26.8 27.5 28.3 28.4 28.8 29.7 30.3 30.7 33.8 35.3 35.4 36.2 36.3 37.7 38.7 39.3 40.3 42.5 43.2]
孔隙率P=[15.37 33.7 12.23 11.22 33.14 33.6 12.96 31.7 13.53 11.1 11.39 12.01 10.4 12.04 13.31 10.38 10.87 10.83 12.75 16.55 11.93 9.92 10.8 11.8 11.3 13.55 11.22 9.9 9.28 9.54 11.85 10.38 9.63 11.5 9.5 9.26]
孔径分布系数R=[49.6 146.9 31.2 41.6 126.7 122.1 34.3 109.7 42.3 41.3 71.3 30.5 68.3 35.4 36.9 47.5 58.7 52.9 26.6 34.2 38.7 43.6 39.3 45.8 43 45 31.2 36.9 35 35.9 29.3 41.9 30.3 30.4 23 28.1].
用CPR的数据画三维散点图(只需要画出三维空间的点,不需要拟合成曲面图),然后根据该图形拟合出C=F(P,R)的方程,方程形式不重要,主要是拟合度高就可以
R=[49.6 146.9 31.2 41.6 126.7 122.1 34.3 109.7 42.3 41.3 71.3 30.5 68.3 35.4 36.9 47.5 58.7 52.9 26.6 34.2 38.7 43.6 39.3 45.8 43 45 31.2 36.9 35 35.9 29.3 41.9 30.3 30.4 23 28.1] 展开
孔隙率P=[15.37 33.7 12.23 11.22 33.14 33.6 12.96 31.7 13.53 11.1 11.39 12.01 10.4 12.04 13.31 10.38 10.87 10.83 12.75 16.55 11.93 9.92 10.8 11.8 11.3 13.55 11.22 9.9 9.28 9.54 11.85 10.38 9.63 11.5 9.5 9.26]
孔径分布系数R=[49.6 146.9 31.2 41.6 126.7 122.1 34.3 109.7 42.3 41.3 71.3 30.5 68.3 35.4 36.9 47.5 58.7 52.9 26.6 34.2 38.7 43.6 39.3 45.8 43 45 31.2 36.9 35 35.9 29.3 41.9 30.3 30.4 23 28.1].
用CPR的数据画三维散点图(只需要画出三维空间的点,不需要拟合成曲面图),然后根据该图形拟合出C=F(P,R)的方程,方程形式不重要,主要是拟合度高就可以
R=[49.6 146.9 31.2 41.6 126.7 122.1 34.3 109.7 42.3 41.3 71.3 30.5 68.3 35.4 36.9 47.5 58.7 52.9 26.6 34.2 38.7 43.6 39.3 45.8 43 45 31.2 36.9 35 35.9 29.3 41.9 30.3 30.4 23 28.1] 展开
2个回答
展开全部
C=[]';P=[]';R=[]';
%绘制点坐标
plot3(P,R,C,'o');
figure(2);
scatter3(P,R,C,'filled');
%利用二元线性回归拟合
n=length(C);m=2;
X=[ones(n,1) P R];
[b,bint,r,rint,s]=regress(C,X)
s2=sum(r.^2)/(n-m-1)
figure;
rcoplot(r,rint)
%p=s(3)<0.05,拟合有效
display('c=b(1)+b(2)*p+b(3)*r');
%绘制点坐标
plot3(P,R,C,'o');
figure(2);
scatter3(P,R,C,'filled');
%利用二元线性回归拟合
n=length(C);m=2;
X=[ones(n,1) P R];
[b,bint,r,rint,s]=regress(C,X)
s2=sum(r.^2)/(n-m-1)
figure;
rcoplot(r,rint)
%p=s(3)<0.05,拟合有效
display('c=b(1)+b(2)*p+b(3)*r');
更多追问追答
追问
X=[ones(n,1) P R];%这个中n和1应该换个位置把
[b,bint,r,rint,s]=regress(C,X)%这一步运行不了,希望给说明下,谢谢了
追答
我用7.9版本运行,没问题的。你出现的情况可能是在第一步C=[]';P=[]';R=[]';没有将矩阵转置。你给出的CPR都是行向量,而我要把它们变成列向量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询