24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1254  |  回复: 4

qiancai

新虫 (初入文坛)


[交流] MATLAB编程,非线性拟合。

【求助】MATLAB编程

大家好,这是我在一篇文献上看到的一个公式,如附件DOC2中所示。

      根据具体的实验值,我们可知道µ、µp(在这里就是当[L] =0时的µ值)以及[L]。

我想问一下如果使用MATLAB编程(我自己编写的方程老是出现问题),K1,K2能求出

来吗?
   
      我现在也把具体的数据Doc1传上,希望路过的各位,如果可以用MATLAB编程的

话,怎样编程,结果是什么,如果不可以的话用什么软件可以编程?我在这先谢

大家了。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)


qiancai(金币+15): 2011-04-09 20:38:09
引用回帖:
Originally posted by qiancai at 2011-04-06 20:17:51:
【求助】MATLAB编程

大家好,这是我在一篇文献上看到的一个公式,如附件DOC2中所示。

      根据具体的实验值,我们可知道µ、µp(在这里就是当[L] =0时的µ值)以及[L]。

我 ...

还缺少三个参数吧。

可以用matlab自带的lsqnonlin函数,用最小二乘法进行拟合,应该能计算出k1,k2的。
2楼2011-04-07 23:21:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qiancai

新虫 (初入文坛)


引用回帖:
Originally posted by xiegangmai at 2011-04-07 23:21:44:
还缺少三个参数吧。

可以用matlab自带的lsqnonlin函数,用最小二乘法进行拟合,应该能计算出k1,k2的。

不过我还是不明白,我联系你了,能加你吗?
3楼2011-04-09 20:39:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)


qiancai(金币+5): 2011-04-11 19:51:22
引用回帖:
Originally posted by qiancai at 2011-04-09 20:39:17:
不过我还是不明白,我联系你了,能加你吗?

简单试了试,自己改改初值,设置一下option试试吧。
CODE:
function qiancai
clear
clc
close
x0 = [ 6.5 , 4.44,   14.9,  15.2,  16.1 ];
% x0 = [ 0.5681    0.5681   15.0217   15.9145   16.9757 ];
[ x, resnorm ] = lsqnonlin( @qiancaifun, x0 )
L = [0;
0.5;
1;
2;
4;
8;
20;
30;
50;
100];

mu = [14.9;
15.67;
15.98;
16.16;
16.35;
16.52;
16.9;
16.97;
17.07;
17.06];

plot( L, mu, 'r-' )
muu =  ( x( 3 ) + ( x(1) + x(2) ) * L * x( 4 )  + 2 * x(1) * x(2) * L .^ 2  * x( 5 ) ) ./ ( ( x(1) + x(2) ) * L + 2 * x(1) * x(2) * L .^ 2 + 1 );
hold on
plot( L, muu, 'b-*')

function F = qiancaifun( x )
L = [0;
0.5;
1;
2;
4;
8;
20;
30;
50;
100];

mu = [14.9;
15.67;
15.98;
16.16;
16.35;
16.52;
16.9;
16.97;
17.07;
17.06];

F = mu - ( x( 3 ) + ( x(1) + x(2) ) * L * x( 4 )  + 2 * x(1) * x(2) * L .^ 2  * x( 5 ) ) ./ ( ( x(1) + x(2) ) * L + 2 * x(1) * x(2) * L .^ 2 + 1 );

拟合出来的曲线效果还是可以的。
4楼2011-04-09 21:24:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Fibo101215

新虫 (初入文坛)



小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
514169楼: Originally posted by xiegangmai at 2011-04-09 21:24:40
简单试了试,自己改改初值,设置一下option试试吧。

function qiancai
clear
clc
close
x0 = ;
% x0 = ;
= lsqnonlin( @qiancaifun, x0 )
L = ;

mu = ;

plot( L, mu, 'r-' )
muu =  ( x( 3 ) +  ...

您好,有关matlab的问题还想请教您一下。。
我的公式是这样的:y=[a*(t^2-e*t^2)+b*(2-t^2+e*t^2)*T1-(1-t*e-t^2+e*t^2)T2]/t*e
里面的e、t和y都是数组,T1为已知标量待输入,T2也是已知标量待输入,a、b是这个已知公式里需要优化的参数,我想请教的是:如果我想用lsqcurvefit这个函数或者其他函数或者DIY编码该如何进行编程,因为就目前而言我还处于菜鸟阶段,感激不尽~感激不尽!!!
5楼2012-09-06 11:13:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qiancai 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见