matlab nlinfit数据拟合,数据少还行,数据多了结果全是复数。这个怎么解决。 30

 我来答
匿名用户
2016-09-24
展开全部
matlab nlinfit数据拟合,数据少还行,数据多了结果全是复数。这个怎么解决。
问题一:初值选择不合适;解决对策:p0=rand(1,3)
问题二:表述的自定义函数只适用单个数据计算;解决对策:采用数组的形式参与计算,即应改为
fun=inline('exp(-p(1)*t).*exp(-p(2)*t).*((p(1)*p(3)*exp(p(1)*t))./(p(1)-p(2))-(p(1)*p(3)*exp(p(2)*t))/(p(1)-p(2)))','p','t');
程序改后的运行结果为
追问
myfunc=inline('a(1).*(x-a(2)).^a(3)','a','x');
a=nlinfit(finalout(:,1),finalout(:,2),myfunc,[0.5,100,2]);
修改初值确实可以,但是要处理的数据太多了,不能一个一个调初值。像origin数据再多都不会出现类似问题,matlab有解决的好办法吗?
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式