24小时热门版块排行榜    

查看: 1586  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

津津爱睡觉

金虫 (小有名气)

[求助] matlab解含参隐函数方程 已有1人参与

我的方程是x=1/(x(2).*49.005^2).*[log((y./x(1)).*((x(1)-49.005)./(y-49.005))-49.005.*(1./y-1./x(1))]..x1、x2是要拟合的参数
实验数据:xdata=[0,0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5]
ydata=[83.94986152,69.18056238,63.78006779,62.16487246,60.65377495,59.89822619,58.46520206,57.7096533,56.95410455,55.769572,54.95441885,53.89832959,53.14278084,52.14041949,51.64595481,51.34373531,51.11791018,50.85514711]..我需要拟合出了方程中的参数x1,x2然后根据xdata求y值并算相关系数。求帮助。。急求。。快被整疯了
回复此楼

» 猜你喜欢

有梦一起追
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by 津津爱睡觉 at 2015-07-20 14:18:59
版主版主,求拟合的代码。。我拟合出的结果不对的说。。...

已回复到该贴的第9楼:
http://muchong.com/bbs/viewthread.php?tid=9184304&fpage=1
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2015-07-20 14:25:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
先拟合出:
x2   =              0.000124354608284474
x1     =            71.0611809557734

相关系数(R): 0.99453642822085
相关系数之平方(R^2): 0.989102707058286
决定系数(DC): 0.989102707058287

代入原方程,再用MATLAB解方程:

function solve_eqs
clear all;clc
format long

global x
y0=50;
x_data=[0,0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.25,2.5,3,3.5,4,4.5,5,5.5,6,6.5];
for i=1:length(x_data)
    x=x_data(i);
[y(i) fval(i)]=fsolve(@eqs,y0);
end

[x_data ;y; fval]'

function f=eqs(y)
global x
f=1/(0.000124354608284474*49.005^2).*(log((y./71.0611809557734).*((71.0611809557734-49.005)./(y-49.005)))-49.005.*(1./y-1./71.0611809557734))-x;

计算结果:
x                                               y                        方程残差
                   0              71.061023088663632   0.000011398222637
   0.250000000000000  67.988292938180209   0.000000000096047
   0.500000000000000  65.534689215008385   0.000000331981567
   0.750000000000000  63.529133478234002   0.000000000137998
   1.000000000000000  61.859615079896656   0.000000036989439
   1.250000000000000  60.449405535313012   0.000003469065679
   1.500000000000000  59.244034566066560   0.000000108193081
   1.750000000000000  58.203506004930126   0.000000000309269
   2.000000000000000  57.297823894942496   0.000000002283940
   2.250000000000000  56.503949371087856   0.000000000099167
   2.500000000000000  55.803867449155170   0.000000000001618
   3.000000000000000  54.630610121986017   0.000000002101571
   3.500000000000000  53.693164548810202   0.000000017349405
   4.000000000000000  52.934038863155749   0.000000762365175
   4.500000000000000  52.312777591278476   0.000000000526119
   5.000000000000000  51.800007824280115   0.000000000001291
   5.500000000000000  51.373858765788839   0.000000363302177
   6.000000000000000  51.017693708877445   0.000000025319006
   6.500000000000000  50.718627743671938   0.000000000780623
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2015-07-20 13:04:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

津津爱睡觉

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2015-07-20 13:04:09
先拟合出:
x2   =              0.000124354608284474
x1     =            71.0611809557734

相关系数(R): 0.99453642822085
相关系数之平方(R^2): 0.989102707058286
决定系数(DC): 0.989102707058287

...

版主版主,求拟合的代码。。我拟合出的结果不对的说。。
有梦一起追
3楼2015-07-20 14:18:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见