24小时热门版块排行榜    

查看: 641  |  回复: 6

haofayi

银虫 (正式写手)

[求助] matlab 拟合问题求助 已有2人参与

请教虫友,我采用matlab拟合一组三维数据(x,y,z),拟合方程为Z=D×exp(a1*x+a2*x^2+a3*x^3-a4/y), 拟合的时候一直效果不理想。后来我对这个方程变通了一下,两边取自然对数,拟合出来效果不错。见图。 但现在z轴,数据是以取自然对数后表示的,我想在图中还以以前的Z的数据来表示,以前是1×E-10,这样的数据。怎么换过来? 求赐教。万分感谢。

matlab 拟合问题求助
1.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

努力吧
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

水晶杯喝茶

新虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你的数据Z没变啊,因为你的新模型计算出来的z值跟原来的Z还是一个数量单位的
2楼2014-11-02 20:54:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haofayi

银虫 (正式写手)

引用回帖:
2楼: Originally posted by 水晶杯喝茶 at 2014-11-02 20:54:48
你的数据Z没变啊,因为你的新模型计算出来的z值跟原来的Z还是一个数量单位的

Z是取了对数以后的。我想坐标轴上还换成原来的1.0E-10这样的数据形式。是否有办法??
努力吧
3楼2014-11-02 22:39:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

水晶杯喝茶

新虫 (正式写手)

【答案】应助回帖

引用回帖:
3楼: Originally posted by haofayi at 2014-11-02 22:39:53
Z是取了对数以后的。我想坐标轴上还换成原来的1.0E-10这样的数据形式。是否有办法??...

可以,你可以用指数换算原来的数值,然后在相应的坐标标签处显示原来的坐标就行
4楼2014-11-02 22:56:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

水晶杯喝茶

新虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
haofayi: 金币+15, ★★★很有帮助 2014-11-03 14:04:16
set(gca, 'XTick', [0.01 0.1 1 10 100 1000]);
set(gca,'XTickLabel',{'0.01' '0.1' '1' '10' '100' '1000'});
用类似的格式就可以设置,先指定需要显示的标签,然后在相应位置变成原来的数就行
5楼2014-11-02 22:59:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
最小二乘拟合指数模型早期确实有对数线性化的处理手段,这样原模型变成求解线性最小二乘问题,理论上存在解析的唯一解。对于没有噪声的理想系统,这么做和非线性拟合的结果将完全一模一样。但实际系统有噪声,对数化后噪声被不等比例的加权了,因此对数化后的最小二乘解回到原坐标系中反而不是最小二乘解了。如果要拟合准确,建议使用对数化后的解作为初始猜测,再次使用非线性拟合,这样才能找到真正准确的最小二乘解。

[ 发自手机版 http://muchong.com/3g ]
6楼2014-11-04 11:50:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

换句话说就是你的对数化操作是不当的,会妨碍你找到真正的结果。

[ 发自手机版 http://muchong.com/3g ]
7楼2014-11-04 11:52:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 haofayi 的主题更新
信息提示
请填处理意见