Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2020-11-01, 12:12   #1
intel80686
初级会员
 
注册日期: 2020-11-01
帖子: 1
声望力: 0
intel80686 正向着好的方向发展
难过 报告matlab2018a的一个bug

一小段程序,
function linearr
clear all
close all
global t2 n
t=[0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8...
1.9 2.0];
n=[1.622630 1.545570 1.524481 1.514928 1.509274 1.505235 1.501924...
1.498930 1.496044 1.493147 1.490169 1.487064 1.483803 1.480363...
1.476729 1.472890 1.468834 1.464555 1.460044];
t2=t.*t;
options=optimset('TolFun',1e-8,'TolX',1e-8);
abcd=lsqnonlin(@iintensity,[0.15 0.17 0.09 0.019])

function oo1=iintensity(xx)
global t2 n
temp=xx(2)./(t2-xx(3));
oo1=xx(1)+temp+xx(4)*temp.*temp-n;
当第三个参数为0.09时运行出错,信息为:
错误使用 snls (line 47)
Objective function is returning undefined
values at initial point. lsqnonlin cannot
continue.
把0.09 作小小修改,即使是0.0900001,也可以正常运行。
intel80686 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 18:08


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.