matlab curve fitting 拟合自定义函数问题? 10

求助大神~想用matlab拟合函数,数据如下:A=[11890.6431454.2851328.3371159.269185.41313304.6533137.04538... 求助大神~想用matlab拟合函数,数据如下:A=[1 1 890.643 1 454.285 1 328.337 1 159.269 1 85.4131 3 304.653 3 137.045 3 88.2667 3 50.5799 3 17.8643 5 11.195 5 8.35377 5 3.59249 5 1.23935 7 0.54447 7 0.34749 7 0.12157 9 0.09829 9 0.0284];x=A(:,2);y=A(:,1);z=A(:,3);x,y为自变量,z为因变量。想根据公式z=10^[a*(n*x-m*y)/(x-y-m+n)+b]拟合,即原公式如图所示,求出参数a、b、n、m但是拟合不出来,图像很奇怪,是不是公式编写的不对,还是什么原因,希望大神指导一下,谢谢~ 展开
 我来答
lhmhz
高粉答主

2020-05-20 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17007

向TA提问 私信TA
展开全部

用matlab curve fitting 拟合自定义函数时,参数a、b、n、m拟合不出来的问题?分析了题主给出的数据和形式,问题应该出在数据书写上,没有按标准格式,即每行x,y,z数据没有用分号隔开,
A=[1 1 890.643; 1 454.285 1;。。。。。]
数据按上述修改后,就可以用拟合工具箱,对a、b、n、m参数进行拟合。拟合过程如下:
1、在命令窗口中,输入
A=[1 1 890.643; 1 454.285 1;。。。。。]
2、在命令窗口中,输入
x=A(:,2);y=A(:,1);z=A(:,3);  %提取x,y,z数据
3、在命令窗口中,输入
cftool %调用拟合工具箱
4、在拟合工具箱界面中,调入x,y,z数据,Custom Equation框内中输入拟合方程,z=10^(a*(n*x-m*y)/(x-y-m+n)+b)
5、在Results框内,自动算出a、b、n、m参数的值以及拟合信息。
6、同时,图形框内绘出其三维曲面图



追问

非常感谢答主的耐心解答~

但是还是有点问题,就是拟合出来的图像不太对

拟合的:



实际想要的:应该是这样的

上图是根据以下公式绘制出来的

怎样才能拟合出类似的图像呢?

追答
关键的问题,还是数据要正确,对应关系要明确。其他操作都是一样的
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式