当前位置: 首页 > 计算模拟 >多参数方程非线性最小二乘拟合

多参数方程非线性最小二乘拟合

作者 tcxiaoma
来源: 小木虫 300 6 举报帖子
+关注

想要回归一个复杂方程的多参数(共14个),用lsqnonlin非线性拟合,编写两个函数(附件中是matlab的函数),运行了下报错如下:

CODE:
多参数方程非线性最小二乘拟合

由于刚接触不久,对这个不太会,求大神帮忙指导修改程序,谢谢!

附件中pressure函数中很复杂的for循环是计算下式对δ的偏导数
CODE:
多参数方程非线性最小二乘拟合-1

 返回小木虫查看更多

今日热帖
  • 精华评论
  • pdl9527

    pressure函数第14行

    CODE:
    e_tao

    是一个数组,相乘时维度不同所以报错,你检查一下。

  • tcxiaoma

    引用回帖:
    2楼: Originally posted by pdl9527 at 2017-01-18 16:54:53
    pressure函数第14行  e_tao 是一个数组,相乘时维度不同所以报错,你检查一下。

    我不太会改。。。e_tao在计算时应该是列向量的某个元素去计算,我试了好多次,还是不太会,您能帮我仔细看看吗?

  • pdl9527

    引用回帖:
    3楼: Originally posted by tcxiaoma at 2017-01-18 17:04:56
    我不太会改。。。e_tao在计算时应该是列向量的某个元素去计算,我试了好多次,还是不太会,您能帮我仔细看看吗?...

    CODE:
        e_delta=e_rou./rouc;
        e_tao=Tc./e_T;

    检查一下这里,e_rou和e_T都是数组,导致e_delta,e_tao也都是数组,但是你说e_tao在计算时应该是列向量的某个元素去计算,这就矛盾了。
    你说不清楚的话做一个word把问题说清楚,别人也知道怎么去改,现在不知道你想要干什么所以无从下手

  • tcxiaoma

    引用回帖:
    4楼: Originally posted by pdl9527 at 2017-01-18 17:23:03
    e_delta=e_rou./rouc;
        e_tao=Tc./e_T;

    检查一下这里,e_rou和e_T都是数组,导致e_delta,e_tao也都是数组,但是你说e_tao在计算时应该是列向量的某个元素去计算,这就矛盾了。
    你说不清楚的话做一个 ...

    恩呢,我再摸索摸索,有道理~~

  • 驴水水



  • 兰理工ACE

    记得要加“.”,在乘或除的时候,因为是数组

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓