0
votes

I have tried using sftool. And using polynomial fitting (in the sftool) a satisfactory fitted plot is obtained in the surface fitting tool window. But when I use the coefficients (obtained from the sftool) in the polynomial equation and try to plot - a deviated surface plot from the original one is achieved.

I have found that the problem is due to the truncated coefficients problem as discussed in Matlab cftool producing wrong coefficients

But the solution in above mentioned link is for 2d curve fitting, not for the 3d surface fitting.

How can I solve the problem in a 3d case?

In addition, is there any other suitable way to fit my data (using parameters)?

my data is:

X =
   [ 1.321  1.3307 1.3404 1.3534 1.3681 1.3799 1.3898 1.3973 1.4048 1.4123 1.4202 1.4272 1.4372 1.4493 1.4619 1.4749 1.4892 1.5043 1.5165 1.53   1.5447 1.5569 1.5607 1.5653 1.5703 ;
     1.3375 1.3476 1.3602 1.3715 1.3824 1.3933 1.4041 1.4158 1.427  1.4387 1.4483 1.4563 1.465 1.4734  1.4809 1.4885 1.4968 1.504  1.5132 1.5178 1.5237 1.5283 1.5392 1.5527 1.5707 ;
     1.2998 1.3121 1.323  1.3335 1.3487 1.3639 1.3752 1.384  1.3929 1.4008 1.4084 1.4147 1.4214 1.4293 1.4397 1.4519 1.4644 1.4778 1.4882 1.4987 1.5079 1.5196 1.5305 1.5418 1.5704 ];

Y =
   [ 18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  18.301  ;
     18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 18.5185 ;
     18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 18.8261 ];

Z = 
   [ 1.0515 1.0773 1.103  1.1459 1.2489 1.4034 1.6953 1.9528 2.2189 2.485  2.7425 3.0086 3.2661 3.4464 3.5923 3.7124 3.8155 3.9099 3.9871 4.0644 4.1245 4.1588 4.1674 4.1931 4.1931 ;
     1.0086 1.0343 1.103  1.1803 1.3348 1.5494 1.7983 2.0815 2.3906 2.6652 2.8712 3.0086 3.1974 3.3691 3.4464 3.5579 3.6781 3.7382 3.824  3.8927 3.9356 3.9957 4.0901 4.1416 4.2275 ;
     1.3519 1.3348 1.3777 1.3777 1.3605 1.3691 1.412  1.4635 1.5236 1.5923 1.6781 1.7811 1.8755 2.03   2.2361 2.4506 2.691  2.9227 3.0944 3.2747 3.4034 3.5579 3.6867 3.824  4.03 ];
1

1 Answers

0
votes

The solution for the OP in the question you referenced was to NOT use the coefficients produced by the cftool. Instead the OP had to explicitly calculate them using polyfit. You can't use the polyfit tool to do your 3d problem, although a quick google search for "Matlab Polyfit 3d" has this discussion as the first hit, it should have everything you need to solve your problem.