nlinfit函数 matlab,Matlab中拟合函数nlinfit和lsqcurvefit的问题

我有98个数据,存放在data1.txt中,这是纵轴值。横轴表示时间。我想用这些数据拟合出Logistic曲线并进行预测,我是这样想的,先用三点法计算出拟合参数的估值,然后把这估值作初值用nlinfit或lsqcurvefit拟合。

logistic曲线的模型:y=L/(1+a*exp(-1*b*x))

下面是我的代码,很简单:

% Logstic预测沉降模型

clear;

clc;

y0=load('data1.txt');% 载入原始数据

n=length(y0);

y1=1./y0;

m=54;

r=m/3;

S1=sum(y1(1:r));

S2=sum(y1(r+1:2*r));

S3=sum(y1(2*r+1:3*r));

b=log((S1-S2)/(S2-S3))/r;

L=r/(S1-(S1-S2)^2/(S1-2*S2+S3));

a=(S1-S2)^2*(1-exp(-1*b))*L/((S1-2*S2+S3)*exp(-1*b)*(1-exp(-1*r*b)));

for i=1:m

t(i)=i;

end

fun=inline('c(1)/(1+c(2)*exp((-1)*c(3)*x))','c','x');

c0=[L,a,b];

y2=y0(1:m)';

%[c renmon]=lsqcurvefit(fun,c0,t,y2);

[c renmon]=nlinfit(t,y2,fun,c0);

for i=1:n

y3(i)=c(1)/(1+c(2)*exp(-1*c(3)*i);

end

plot(t,y0(1:l),t,y2');

但是不对,总是报错,具体如下

1.用nlinfit错误如下:

??? Error using ==> nlinfit

The inline model function generated the following error:

Error using ==> inlineeval

Error in inline expression ==> c(1)/(1+c(2)*exp((-1)*c(3)*x))

??? Error using ==> mrdivide

Matrix dimensions must agree.

Error in ==> Logistic2 at 26

[c renmon]=nlinfit(t,y2,fun,c0);

说是矩阵维数不匹配!

2.用lsqcurvefit错误如下:

??? Error using ==> optim\private\lsqncommon

User supplied expression or inline function ==> c(1)/(1+c(2)*exp((-1)*c(3)*x))

failed with the following error:

Error using ==> inlineeval

Error in inline expression ==> c(1)/(1+c(2)*exp((-1)*c(3)*x))

??? Error using ==> mrdivide

Matrix dimensions must agree.

Error in ==> lsqcurvefit at 149

[x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...

Error in ==> Logistic2 at 25

[c renmon]=lsqcurvefit(fun,c0,t,y2);

好像除了维数不对,lsqcurvefit函数输出参数数也不对,⊙﹏⊙汗。可是我是参照别人的代码写的啊。我把模型函数重新建了个m文件也不行。我是用的7.0的版本

这是什么问题?谁能帮我解决呢?不胜感激!我是新手,还没有m币,所以大家见谅啊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[vue] 你有使用过动态组件吗?说说你对它的理解

[vue] 你有使用过动态组件吗?说说你对它的理解 通过 Vue 的 元素加一个特殊的 is 特性来实现个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

Ajax Control Toolkit 出新版了

Ajax Control Toolkit 出新版了http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspxRelease 10301 Production 三月-01-20072 FilesDescription2007-03-01 release of the AJAX Control Toolkit includes two new controls (ListSearch and SlideShow),…

php7引用计数,PHP7 引用计数 读书笔记

PHP7 引用计数 读书笔记每个 PHP 变量存在一个加 "zval" 的变量容器中. 一个 zval 变量容器, 除了包含变量的类型和值, 还包括两个字节的额外信息.1.is_ref : 是一个 bool 值, 用来标识这个变量是否属于引用集合. 通过这个字节, PHP 引擎才能把普通变量和引用变量区分…

[vue] 说说你对slot的理解有多少?slot使用场景有哪些?

[vue] 说说你对slot的理解有多少?slot使用场景有哪些? 通过插槽可以让用户可以拓展组件,去更好地复用组件和对其做定制化处理如果父组件在使用到一个复用组件的时候,获取这个组件在不同地方有少量的更改,如果去重写组…

javascript原型链

概念 1 原型对象 Prototype 我们创建的每个函数都有一个 prototype(原型)属性,指向一个对象,而这个对象的用途是包含所有实例共享的属性和方法。这个prototype指向的对象就是调用构造函数创建的实例的原型对象。 function F () {t…

焦呼?焦矣!

焦了。做了个香蕉蛋糕。总觉得它还没熟,就让它没完没了地烤着。于是焦了。可里面居然还是湿润的。是蛋糕的问题,还是6寸模的问题,还只是人的问题?烤一半时,爹临出门时,过来往上头按了一大拇指。很好&#x…

yii 1.4 constant.php,yii 中设置提示成功信息,错误提示信息,警告信息

方法一&#xff1a;Yii::app()->user->setFlash(‘success’,”Data saved!”); 设置键值名为success的临时信息.在getFlash后删除. 可以定义多种不同的键值名对象的消息.?><?php if(Yii::app()->user->hasFlash(‘success’)):?> 消息存在里,<?ph…

[vue] 说说你对provide和inject的理解

[vue] 说说你对provide和inject的理解 通过在父组件中inject一些数据然后再所有子组件中都可以通过provide获取使用该参数,主要是为了解决一些循环组件比如tree, menu, list等, 传参困难, 并且难以管理的问题, 主要用于组件封装, 常见于一些ui组件库个人简介 我是歌谣&#x…

k倍区间

给定一个长度为N的数列&#xff0c;A1, A2, … AN&#xff0c;如果其中一段连续的子序列Ai, Ai1, … Aj(i < j)之和是K的倍数&#xff0c;我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗&#xff1f; 输入第一行包含两个整数N和K。(1 < N, K &l…

AJAX(2),我的第一个AJAX程序

首先&#xff0c;在VS2005中新建一个网站&#xff0c;拖入一个Button和Text,设置Button的客户端事件为userCheck(),<asp:TextBox ID"username"runat"server"></asp:TextBox><input type"button"name"check"value"…

[vue] 组件中写name选项有什么作用?

[vue] 组件中写name选项有什么作用&#xff1f; 项目使用keep-alive时&#xff0c;可搭配组件name进行缓存过滤 DOM做递归组件时需要调用自身name vue-devtools调试工具里显示的组见名称是由vue中组件name决定的个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。…

php和js序列化,PHP中serialize和json序列化与反序列化的区别

在PHP中&#xff0c;serialize和json两种方式对一个对象或数组进行序列化或反序列化有什么区别呢&#xff1f;假设一个对象和一个数组&#xff1a;PHP1234$webnewstdClass;$web->sitetantengvip;$web->ownertuntun;$web->age5;和PHP1234$webarray();$web[site]tanteng…

[导入]ASP.NET 2.0中Page事件的执行顺序

文章来源:http://blog.csdn.net/21aspnet/archive/2007/03/20/1535517.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2007/03/21/816354.html

[Swift]LeetCode859. 亲密字符串 | Buddy Strings

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

三瞬属性matlab,matlab:out of memory 1

问题三&#xff1a;Increase the size of the swap file.wap space的设置与使用的操作系统有关&#xff0c;具体的如下&#xff1a;1.UNIXInformation about swap space can be procured by typing pstat -s at the UNIX command prompt. For detailed information on changing…

[导入]C#中TextBox只能输入数字的代码

文章来源:http://blog.csdn.net/21aspnet/archive/2007/03/20/1535640.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2007/03/21/816242.html

实验1c语言开发环境使用和数据类型、运算符和表达式

实验结论 由于这一次是第一次做实验有很多东西不熟悉 比如忘记加分号&#xff0c;用中文输入法打不对符号等等。总之经过这实验我学到了很多。#include <stdio.h> int main() {int x;printf("输入一个整数: \n");scanf("%d",&x);// 在处填写相应…

[vue] vue怎么改变插入模板的分隔符?

[vue] vue怎么改变插入模板的分隔符&#xff1f; optionMergeStrategies类型&#xff1a;{ [key: string]: Function }默认值&#xff1a;{}用法&#xff1a;Vue.config.optionMergeStrategies._my_option function (parent, child, vm) {return child 1}const Profile Vue…

php地址转换成经纬度,百度地图 获取地址转换为经纬度

html>根据地址查询经纬度a.{margin-right:100px;}style"position: absolute;margin-top:30px;width: 730px;height: 590px;top: 50px;border: 1px solid gray;overflow:hidden;">var map new BMap.Map("container");var point new BMap.Point(113.…

Nhibernate学习起步之many-to-one篇(转)

1. 学习目的: 通过进一步学习nhibernate基础知识&#xff0c;在实现单表CRUD的基础上&#xff0c;实现两表之间one-to-many的关系. 2. 开发环境必要准备 开发环境: windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition 必要准备: 学习上篇文章单…