24小时热门版块排行榜    

CyRhmU.jpeg
查看: 932  |  回复: 6

heshuangrong

新虫 (小有名气)

[求助] MATLAB拟合动力学问题已有1人参与

程序是书上的,店Debug--Run没法运行,求教各位大侠


function KineticDataFit     
clear all
clc

% 动力学数据
t = [0 20  40  60  120  180  300];
CA = [10  8  6  5  3  2  1];

% 用最小二乘样条拟合法计算微分dCA/dt--使用不经过实验点的B样条插值函数
knots = 3;
K = 3;      % 三次B样条
sp = spap2(knots,K,t,CA)
sp = spap2(newknt(sp),K,t,CA);
pp = fnder(sp)          % 计算B样条函数的导函数
dCAdt = fnval(pp,t)     % 计算t处的导函数值

% 绘制图形
ti = linspace(t(1),t(end),200);
CAi = fnval(sp,ti)
plot(t,CA,'ro',ti,CAi,'b-')
xlabel('t')
ylabel('C_A')
figure
fnplt(pp)
% dCAdti = fnval(pp,ti)
% plot(ti,dCAdti,'-')
xlabel('t')
ylabel('dC/dt')

% 线性拟合
rA = dCAdt;
y = log(-rA);
x = log(CA);
p = polyfit(x,y,1);
k = exp(p(2))
n = p(1)
回复此楼

» 猜你喜欢

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

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

lvgao116

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
不要输入带有function语句的那一行。或者用%注释。我已经试过没问题。

» 本帖已获得的红花(最新10朵)

lovelinan
2楼2015-09-01 15:21:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

heshuangrong

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by lvgao116 at 2015-09-01 15:21:47
不要输入带有function语句的那一行。或者用%注释。我已经试过没问题。

为什么我点Debug-run后,在命令窗口红色显示undefined function or variable 'spap2',第一行我都把它删了

发自小木虫Android客户端
3楼2015-09-01 15:49:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvgao116

铁杆木虫 (著名写手)

引用回帖:
3楼: Originally posted by heshuangrong at 2015-09-01 15:49:15
为什么我点Debug-run后,在命令窗口红色显示undefined function or variable 'spap2',第一行我都把它删了
...

spap2是一个matlab自带函数,你运行后matlab给你的提示是没有定义该函数或变量,说明你的matlab版本中没有这个函数。ps:我的matlab版本是R2008a,7.6.0.
lovelinan
4楼2015-09-01 17:01:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvgao116

铁杆木虫 (著名写手)

【答案】应助回帖

引用回帖:
3楼: Originally posted by heshuangrong at 2015-09-01 15:49:15
为什么我点Debug-run后,在命令窗口红色显示undefined function or variable 'spap2',第一行我都把它删了
...

sp =

      form: 'B-'
     knots: [0 0 0 50 120 300 300 300]
     coefs: [10.0579 6.9123 3.5802 1.3462 0.9975]
    number: 5
     order: 3
       dim: 1


pp =

      form: 'B-'
     knots: [0 0 78.8178 182.1889 300 300]
     coefs: [-0.1187 -0.0312 -0.0104 -0.0061]
    number: 4
     order: 2
       dim: 1


dCAdt =

   -0.1187   -0.0965   -0.0743   -0.0521   -0.0229   -0.0109   -0.0061


CAi =

  Columns 1 through 11

   10.0307    9.8531    9.6780    9.5054    9.3353    9.1678    9.0027    8.8402    8.6803    8.5228    8.3679

  Columns 12 through 22

    8.2155    8.0656    7.9182    7.7734    7.6310    7.4913    7.3540    7.2192    7.0870    6.9573    6.8301

  Columns 23 through 33

    6.7054    6.5833    6.4637    6.3466    6.2320    6.1200    6.0105    5.9035    5.7990    5.6970    5.5976

  Columns 34 through 44

    5.5007    5.4063    5.3144    5.2251    5.1382    5.0539    4.9722    4.8929    4.8162    4.7420    4.6703

  Columns 45 through 55

    4.6011    4.5345    4.4703    4.4088    4.3497    4.2931    4.2391    4.1876    4.1386    4.0916    4.0452

  Columns 56 through 66

    3.9992    3.9536    3.9085    3.8639    3.8197    3.7760    3.7328    3.6900    3.6476    3.6057    3.5643

  Columns 67 through 77

    3.5233    3.4828    3.4427    3.4031    3.3640    3.3253    3.2870    3.2492    3.2119    3.1750    3.1386

  Columns 78 through 88

    3.1027    3.0672    3.0321    2.9975    2.9634    2.9297    2.8965    2.8638    2.8315    2.7996    2.7682

  Columns 89 through 99

    2.7373    2.7068    2.6768    2.6472    2.6181    2.5895    2.5613    2.5335    2.5062    2.4794    2.4530

  Columns 100 through 110

    2.4271    2.4017    2.3767    2.3521    2.3280    2.3044    2.2812    2.2585    2.2363    2.2144    2.1931

  Columns 111 through 121

    2.1722    2.1518    2.1318    2.1123    2.0932    2.0746    2.0564    2.0387    2.0215    2.0047    1.9884

  Columns 122 through 132

    1.9725    1.9568    1.9413    1.9258    1.9104    1.8950    1.8798    1.8646    1.8496    1.8346    1.8197

  Columns 133 through 143

    1.8048    1.7901    1.7754    1.7608    1.7463    1.7319    1.7176    1.7033    1.6892    1.6751    1.6611

  Columns 144 through 154

    1.6472    1.6333    1.6196    1.6059    1.5923    1.5788    1.5654    1.5521    1.5388    1.5256    1.5126

  Columns 155 through 165

    1.4996    1.4866    1.4738    1.4610    1.4484    1.4358    1.4233    1.4108    1.3985    1.3862    1.3740

  Columns 166 through 176

    1.3619    1.3499    1.3380    1.3262    1.3144    1.3027    1.2911    1.2796    1.2682    1.2568    1.2456

  Columns 177 through 187

    1.2344    1.2233    1.2122    1.2013    1.1905    1.1797    1.1690    1.1584    1.1479    1.1374    1.1271

  Columns 188 through 198

    1.1168    1.1066    1.0965    1.0865    1.0765    1.0667    1.0569    1.0472    1.0376    1.0281    1.0186

  Columns 199 through 200

    1.0093    1.0000


k =

    0.0053


n =

    1.3854
lovelinan
5楼2015-09-01 17:01:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

heshuangrong

新虫 (小有名气)

引用回帖:
4楼: Originally posted by lvgao116 at 2015-09-01 17:01:02
spap2是一个matlab自带函数,你运行后matlab给你的提示是没有定义该函数或变量,说明你的matlab版本中没有这个函数。ps:我的matlab版本是R2008a,7.6.0....

我的是6.5,去下个高点的版本看看

发自小木虫Android客户端
6楼2015-09-01 17:28:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvgao116

铁杆木虫 (著名写手)

引用回帖:
6楼: Originally posted by heshuangrong at 2015-09-01 17:28:16
我的是6.5,去下个高点的版本看看
...

好哒!

发自小木虫Android客户端
lovelinan
7楼2015-09-01 19:57:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 heshuangrong 的主题更新
信息提示
请填处理意见