当前位置: > 用lsqcurvefit拟合类似y=x^(1/3)函数时,最后结果是复数,如何让结果为实数?...
题目
用lsqcurvefit拟合类似y=x^(1/3)函数时,最后结果是复数,如何让结果为实数?
拟合函数定义的M文件为:
function f=goodfun1(a,t)
f=a(3)*(a(1)+a(2)*t).^(1/3)+a(4);
end
主命令为:
t=[2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50];
y=[-8.070 -8.031 -7.982 -7.919 -7.823 -7.716 -7.599 -7.464 -7.334 -7.182 -7.023 -6.864 -6.695 -6.479 -6.286 -6.077 -5.861 -5.791 -5.732 -5.695 -5.677 -5.664 -5.649 -5.631 -5.614];
a=[-26/24 1/24 1.228 -6.842]
a=lsqcurvefit('goodfun1',a,t,y);
a(1)
a(2)
a(3)
a(4)
得到的ans a向量都是复数,如何得到实数的a参数向量?

提问时间:2021-02-23

答案
f=a(3)*(a(1)+a(2)*t).^(1/3)+a(4);
^前面有个“.”,啥意思?
lsqcurvefit没弄过
Origin可以拟合:
a(1)=-1.08333
a(2)=0.04167
a(3)=0.67784
a(4)=-7.39216
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.