24小时热门版块排行榜    

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

津津爱睡觉

金虫 (小有名气)

[求助] matlab解方程已有2人参与

x=[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]
x=1/(15.3109*49.005^2).*[log((y./86.4241).*((86.4241-49.005)./(y-49.005)))-49.005.*(1./y-1./86.4241)]我已知x值,相求y值。。使用了fzero、fslove都各种出错,卡在这好几天了。。新手,处理数据临时学的,还请大神帮忙。。感激不尽。。希望把程序告诉我啊。。还有好多要处理。。
回复此楼
有梦一起追
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
8楼: Originally posted by 津津爱睡觉 at 2015-07-20 14:09:49
想问下拟合的代码是什么啊。。我拟合出的结果都不对。。太感谢了,你让我觉得世界都亮了...

1stOpt软件代码:
CODE:
Variable  x,y ;
Function x=1/(x2*49.005^2)*(ln((y/x1)*((x1-49.005)/(y-49.005)))-49.005*(1/y-1./x1));
Data;
         0   83.9499
    0.2500   69.1806
    0.5000   63.7801
    0.7500   62.1649
    1.0000   60.6538
    1.2500   59.8982
    1.5000   58.4652
    1.7500   57.7097
    2.0000   56.9541
    2.5000   55.7696
    3.0000   54.9544
    3.5000   53.8983
    4.0000   53.1428
    4.5000   52.1404
    5.0000   51.6460
    5.5000   51.3437
    6.0000   51.1179
    6.5000   50.8551

计算结果:
相关系数(R): 0.994536826184908
相关系数之平方(R^2): 0.98910349863795
决定系数(DC): 0.98910349863795
卡方系数(Chi-Square): -0.475114996414728
F统计(F-Statistic): 1452.36121690615

参数        最佳估算
----------        -------------
x2                 0.000124355240207823
x1                 71.0613092892056

1stopt软件获得链接:http://muchong.com/bbs/viewthread.php?tid=4586018

如果你想用MATLAB Origin等软件,具体代码或者操作步骤,可参见:
http://muchong.com/bbs/viewthread.php?tid=6572963
matlab解方程
附图1.png

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2015-07-20 14:23:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 23 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
ben_ladeng: 金币+2, 辛苦了 2015-07-20 12:52:08
用1stOpt很方便:
CODE:
LoopConstant x=[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];
Function
x=1/(15.3109*49.005^2)*(ln((y/86.4241)*((86.4241-49.005)/(y-49.005)))-49.005*(1/y-1/86.4241));

x        y
0        -52.980531685766
0.25        -0.005325680664864
0.5        -0.00266410044168563
0.75        -0.0017763656641459
1        -0.00133239055348768
1.25        -0.00106596977280202
1.5        -0.000888340653964983
1.75        -0.000761455084693858
2        -0.000666286667945962
2.25        -0.000592264240768995
2.5        -0.000533044674782525
3        -0.000444212582842599
3.5        -0.000380759044626785
4        -0.000333167756019921
4.5        -0.000296151628028883
5        -0.00026653829158802
5.5        -0.000242308908315198
6        -0.000222117554561104
6.5        -0.000205032419060659
2楼2015-07-20 10:55:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
津津爱睡觉: 金币+100 2015-07-20 11:48:52
CODE:
function solve_eqs
clear all;clc
format long

global x
y0=-0.1;
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]'

计算结果:
                  x                                 y                     方程残差
                 0                -1.506414574649781   0.000781864700102
   0.250000000000000  -0.005325680664661   0.000000000000122
   0.500000000000000  -0.002664100440992   0.000000000130176
   0.750000000000000  -0.001776365663977   0.000000000043270
   1.000000000000000  -0.001332390553487   0.000000000000432
   1.250000000000000  -0.001065969772692   0.000000000128479
   1.500000000000000  -0.000888340653914   0.000000000029346
   1.750000000000000  -0.000761455084694   0.000000000000222
   2.000000000000000  -0.000666286667945   0.000000000003717
   2.250000000000000  -0.000592264240769   0.000000000000011
   2.500000000000000  -0.000533044674760   0.000000000010490
   3.000000000000000  -0.000444212582825   0.000000000004250
   3.500000000000000  -0.000380759044612   0.000000000000032
   4.000000000000000  -0.000333167756007   0.000000000004873
   4.500000000000000  -0.000296151628018   0.000000000000042
   5.000000000000000  -0.000266538291578   0.000000000001760
   5.500000000000000  -0.000242308908306   0.000000000009863
   6.000000000000000  -0.000222117554561   0.000000000000224
   6.500000000000000  -0.000205032419053   0.000000000000051
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2015-07-20 11:42:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

津津爱睡觉

金虫 (小有名气)

引用回帖:
2楼: Originally posted by dingd at 2015-07-20 10:55:11
用1stOpt很方便:

LoopConstant x=;
Function
x=1/(15.3109*49.005^2)*(ln((y/86.4241)*((86.4241-49.005)/(y-49.005)))-49.005*(1/y-1/86.4241));


x        y
0        -52.980531685766
0.25        -0.005325680664864
0 ...

哇哇。。怎么都是负的啊。。说明我参数拟合错了。。我原方程是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))]..
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值
有梦一起追
4楼2015-07-20 11:45:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见