精华内容
下载资源
问答
  • 51 0.00018032252 0.00017957853 0.00017926854 0.00017858455 0.00017821256 0.00017765457 0.00017709458 0.00017672259 0.00017622660 0.00017560661 0.0001751762 0.0001745563 0.0001742464 0.0001736865 0.000...

    51 0.000180322

    52 0.000179578

    53 0.000179268

    54 0.000178584

    55 0.000178212

    56 0.000177654

    57 0.000177094

    58 0.000176722

    59 0.000176226

    60 0.000175606

    61 0.00017517

    62 0.00017455

    63 0.00017424

    64 0.00017368

    65 0.000172998

    66 0.000172564

    67 0.000171942

    68 0.000171508

    69 0.000171074

    70 0.000170392

    71 0.000169956

    72 0.000169336

    73 0.000168778

    74 0.00016828

    75 0.00016766

    76 0.000167288

    77 0.000166728

    78 0.000166108

    79 0.00016555

    80 0.000164928

    81 0.000164494

    82 0.000163998

    83 0.000163376

    84 0.00016288

    85 0.00016226

    86 0.000161824

    87 0.000161204

    88 0.000160584

    89 0.000160024

    90 0.000159528

    91 0.000159032

    92 0.00015841

    93 0.000157852

    94 0.000157232

    95 0.000156672

    96 0.000156176

    97 0.000155556

    98 0.000155122

    99 0.000154438

    100 0.00015388

    101 0.00015332

    102 0.000152762

    103 0.000152204

    104 0.000151582

    105 0.000151086

    106 0.000150528

    107 0.000149906

    108 0.00014941

    109 0.00014879

    110 0.00014823

    111 0.00014761

    112 0.000147114

    113 0.00014643

    114 0.000145996

    115 0.000145376

    116 0.000144816

    117 0.000144258

    118 0.0001437

    119 0.000143078

    120 0.000142458

    121 0.000141962

    122 0.000141402

    123 0.000140844

    124 0.000140224

    125 0.000139664

    126 0.000139106

    127 0.000138548

    128 0.000137988

    129 0.00013743

    130 0.00013681

    131 0.000136312

    132 0.000135692

    133 0.000135134

    134 0.000134512

    135 0.000134016

    136 0.000133396

    137 0.000132836

    138 0.000132278

    139 0.00013172

    140 0.00013116

    141 0.000130602

    142 0.000130106

    143 0.000129484

    144 0.000128864

    145 0.000128368

    146 0.000127808

    147 0.00012725

    148 0.000126568

    149 0.000126132

    150 0.000125574

    151 0.000124954

    152 0.000124456

    153 0.000123836

    154 0.000123278

    155 0.00012278

    156 0.000122222

    157 0.000121602

    158 0.000121104

    159 0.000120484

    160 0.000119988

    161 0.000119428

    162 0.00011887

    163 0.000118312

    164 0.000117752

    165 0.000117194

    166 0.000116698

    167 0.00011614

    168 0.00011558

    169 0.000115084

    170 0.000114526

    171 0.000113966

    172 0.000113408

    173 0.00011285

    174 0.00011229

    175 0.000111794

    176 0.000111236

    177 0.000110676

    178 0.000110118

    179 0.000109622

    180 0.000109124

    181 0.000108566

    182 0.000108008

    183 0.000107448

    184 0.00010689

    185 0.000106394

    186 0.000105834

    187 0.000105338

    188 0.00010478

    189 0.000104284

    190 0.000103724

    191 0.000103228

    192 0.00010267

    193 0.000102172

    194 0.000101614

    195 0.000101118

    196 0.00010062

    197 0.000100062

    198 0.000099566

    199 0.000099006

    200 0.00009851

    201 0.000098014

    202 0.000097454

    203 0.00009702

    204 0.000096462

    205 0.000095966

    206 0.000095468

    207 0.00009491

    208 0.000094414

    209 0.000093916

    210 0.00009342

    211 0.000092924

    212 0.000092428

    213 0.000091868

    214 0.000091372

    215 0.000090876

    216 0.000090378

    217 0.000089882

    218 0.000089386

    219 0.000088888

    220 0.000088392

    221 0.000087958

    222 0.0000874

    223 0.000086902

    224 0.000086406

    225 0.00008591

    226 0.000085474

    227 0.00008504

    228 0.000084544

    229 0.000084048

    230 0.00008355

    231 0.000083054

    232 0.000082558

    233 0.00008206

    234 0.000081626

    235 0.00008113

    236 0.000080634

    237 0.000080198

    238 0.000079702

    239 0.000079268

    240 0.00007877

    241 0.000078336

    242 0.00007784

    243 0.000077344

    244 0.000076908

    245 0.000076474

    246 0.00007604

    247 0.000075544

    248 0.000075046

    249 0.000074612

    250 0.000074178

    251 0.00007368

    252 0.000073246

    253 0.000072812

    254 0.000072316

    255 0.00007188

    256 0.000071446

    257 0.000071012

    258 0.000070516

    259 0.00007008

    260 0.000069646

    261 0.000069212

    262 0.000068778

    263 0.000068342

    264 0.000067908

    265 0.000067474

    266 0.00006704

    267 0.000066604

    268 0.00006617

    269 0.000065736

    270 0.000065302

    271 0.000064866

    272 0.000064494

    273 0.000064122

    274 0.000063626

    275 0.000063252

    276 0.000062818

    277 0.000062384

    278 0.00006195

    279 0.000061514

    280 0.00006108

    281 0.000060708

    282 0.000060274

    283 0.000059838

    284 0.000059466

    285 0.000059032

    286 0.00005866

    287 0.000058224

    288 0.000057852

    289 0.000057418

    290 0.000057046

    291 0.000056672

    292 0.000056238

    293 0.000055866

    294 0.000055494

    295 0.000055122

    296 0.000054686

    297 0.000054314

    298 0.000053942

    299 0.00005357

    300 0.000053196

    301 0.000052762

    302 0.00005239

    303 0.000052018

    304 0.000051644

    305 0.000051272

    306 0.0000509

    307 0.000050528

    308 0.000050156

    309 0.000049782

    310 0.000049472

    311 0.0000491

    312 0.000048728

    313 0.000048356

    314 0.000047982

    315 0.00004761

    316 0.0000473

    317 0.000046928

    318 0.000046554

    319 0.000046182

    320 0.000045872

    321 0.0000455

    322 0.00004519

    323 0.000044816

    324 0.000044506

    325 0.000044134

    326 0.000043824

    327 0.000043514

    328 0.00004314

    329 0.00004283

    330 0.000042458

    331 0.000042148

    332 0.000041838

    333 0.000041528

    334 0.000041154

    335 0.000040844

    336 0.000040534

    337 0.000040224

    338 0.000039914

    339 0.000039602

    340 0.000039292

    341 0.000038982

    342 0.000038672

    343 0.000038362

    344 0.00003805

    345 0.00003774

    346 0.00003743

    347 0.00003712

    348 0.00003681

    349 0.000036562

    350 0.00003625

    351 0.00003594

    352 0.000035692

    353 0.000035382

    354 0.000035072

    355 0.000034824

    356 0.000034512

    357 0.000034264

    358 0.000033954

    359 0.000033706

    360 0.000033458

    361 0.000033148

    362 0.000032898

    363 0.000032588

    364 0.00003234

    365 0.000032092

    366 0.000031782

    367 0.000031534

    368 0.000031284

    369 0.000031036

    370 0.000030788

    371 0.000030478

    372 0.00003023

    373 0.000029982

    374 0.000029734

    375 0.000029484

    376 0.000029236

    377 0.000028988

    378 0.00002874

    379 0.000028492

    380 0.000028306

    381 0.000028058

    382 0.000027808

    383 0.00002756

    384 0.000027312

    385 0.000027126

    386 0.000026878

    387 0.00002663

    388 0.000026444

    389 0.000026194

    390 0.000025946

    391 0.00002576

    392 0.000025512

    393 0.000025326

    394 0.00002514

    395 0.000024892

    396 0.000024706

    397 0.000024456

    398 0.00002427

    399 0.000024084

    400 0.000023898

    401 0.00002365

    402 0.000023464

    403 0.000023278

    404 0.000023092

    405 0.000022906

    406 0.000022656

    407 0.00002247

    408 0.000022284

    409 0.000022098

    410 0.000021912

    411 0.000021726

    412 0.00002154

    413 0.000021354

    414 0.000021166

    415 0.000021042

    416 0.000020856

    417 0.00002067

    418 0.000020484

    419 0.000020298

    420 0.000020174

    421 0.000019988

    422 0.000019802

    423 0.000019678

    424 0.00001949

    425 0.000019304

    426 0.00001918

    427 0.000018994

    428 0.00001887

    429 0.000018684

    430 0.00001856

    431 0.000018374

    432 0.00001825

    433 0.000018126

    434 0.00001794

    435 0.000017816

    436 0.000017628

    437 0.000017504

    438 0.00001738

    439 0.000017256

    440 0.00001707

    441 0.000016946

    442 0.000016822

    443 0.000016698

    444 0.000016574

    445 0.00001645

    446 0.000016264

    447 0.00001614

    448 0.000016014

    449 0.00001589

    450 0.000015766

    展开全文
  • 《matlab变参量微分方程参数识别》由会员分享,可在线阅读...1、1 变参数微分方程数值求解例子2 求 function dydt=fun(t,y,u,v) r=u+2;s=v-2; dydt=r+y(2); s*y(1)-2*s*y(2); u=1;5;15;20;25; v=6;12;18;24;30; tspa...

    《matlab变参量微分方程参数识别》由会员分享,可在线阅读,更多相关《matlab变参量微分方程参数识别(2页珍藏版)》请在人人文库网上搜索。

    1、1 变参数微分方程数值求解例子2 求 function dydt=fun(t,y,u,v) r=u+2;s=v-2; dydt=r+y(2); s*y(1)-2*s*y(2); u=1;5;15;20;25; v=6;12;18;24;30; tspan=0:1:4; y0=0 2; yy=y0; for i=1:length(tspan)-1 t,y=ode45(fun,tspan(i),tspan(i+1),y0,u(i),v(i); y0=y(end,: ); yy=yy;y0; end plot(tspan,yy,-o) 2.1 匿名函数法 f=(t,y,u,v) u+2+y(2); 。

    2、(v-2)*y(1)-2*(v-2)*y(2) u=1;5;15;20;25; v=6;12;18;24;30; tspan=0:1:4; y0=0 2; yy=y0; for i=1:length(tspan)-1 t,y=ode45(f,tspan(i),tspan(i+1),y0,u(i),v(i); y0=y(end,: ); yy=yy;y0; end plot(tspan,yy,-o) 2.2 修改加上时间tt(显示所有计算值) clear u=1;5;15;20;25; v=6;12;18;24;30; tspan=0:1:4; y0=0 2; tt =;yy=; for i=1。

    3、:length(tspan)-1 t,y=ode45(fun,tspan(i),tspan(i+1),y0,u(i),v(i); y0=y(end,: ); tt=tt;t; yy=yy;y; end plot(tt,yy);%所有的计算数值。 2.3 同过差值可以调节精度。如果u,v随着t是时刻变化的,但是通过测试手段只能测得某一时刻的u,v. clear global yy t1=0:0.1:4;%如果u,v随着t是时刻变化的,可以通过此数值来调节精度 tspan=0:1:4; u=1;5;15;20;25; u1=spline(tspan,u,t1); v=6;12;18;24;30;v。

    4、1= spline(tspan,v,t1); y0=0 2; yy=y0; for i=1:length(t1)-1 t,y=ode45(fun,t1(i),t1(i+1),y0,u1(i),v1(i); y0=y(end,: ); yy=yy;y0; end plot(t1,yy) 2 适用matlab对一个常微分方程进行参数回归 问题如下: 已知实验数据x,y,并且x,y的关系满足以下常微分方程 Dy/dx=-k*(y-y0)*y2 其中 k是需要回归的参数,y0是一个常数,通常等于y向量中的最后一个数值。要求: 1.通过lsqcurvefit或者lsqnonlin回归出系数k 2.画出模。

    5、型预测值和实验值的对比图,模型预测值可以通过得到常微分方程数值解后三次样条spline插值得到。我已经写好的程序如下,里面有错误,我自己找不出来,请高手帮帮忙,谢谢啊 可以加我的QQ交流:40231185 = function odetest clc;clear; global Je J0 data=xlsread(flux.xls); xdata=data(:,1);ydata=data(:,2); beta0=0.1;Je=ydata(end);J0=ydata(1); options=optimset(TolFun,1e-20,TolX,1e-20,MaxFunEvals,100,Algorithm,trust-region-reflective); beta=lsqcurvefit(cakefun,beta0,xdata,ydata,options); Jc=cakefun(beta,xdata); plot(xdata,ydata,o,xdata,Jc); function y=cakefun(beta,x) global J0 tspan=0 max(x); m,n=size(x); tt yy = ode23s(modeleqs,tspan,J0,beta);。

    展开全文
  • 用MATLAB方法进行变参量微分方程处理1 变参数微分方程数值求解例子2 求function dydt=fun(t,y,u,v)r=u+2;s=v-2;dydt=[r+y(2); s*y(1)-2*s*y(2)];u=[1;5;15;20;25];v=[6;12;18;24;30];tspan=0:1:4;y0=[0 2];yy=y0;for...

    用MATLAB方法进行变参量微分方程处理

    1 变参数微分方程数值求解

    例子2 求

    function dydt=fun(t,y,u,v)

    r=u+2;s=v-2;

    dydt=[r+y(2); s*y(1)-2*s*y(2)];

    u=[1;5;15;20;25];

    v=[6;12;18;24;30];

    tspan=0:1:4;

    y0=[0 2];

    yy=y0;

    for i=1:length(tspan)-1

    [t,y]=ode45(@fun,[tspan(i),tspan(i+1)],y0,[],u(i),v(i));

    y0=y(end,: );

    yy=[yy;y0];

    end

    plot(tspan,yy,'-o')

    2.1 匿名函数法

    f=@(t,y,u,v) [u+2+y(2); (v-2)*y(1)-2*(v-2)*y(2)]

    u=[1;5;15;20;25];

    v=[6;12;18;24;30];

    tspan=0:1:4;

    y0=[0 2];

    yy=y0;

    for i=1:length(tspan)-1

    [t,y]=ode45(f,[tspan(i),tspan(i+1)],y0,[],u(i),v(i));

    y0=y(end,: );

    yy=[yy;y0];

    end

    plot(tspan,yy,'-o')

    2.2 修改加上时间tt(显示所有计算值)

    clear

    u=[1;5;15;20;25];

    v=[6;12;18;24;30];

    tspan=0:1:4;

    y0=[0 2];

    tt =[];yy=[];

    for i=1:length(tspan)-1

    [t,y]=ode45(@fun,[tspan(i),tspan(i+1)],y0,[],u(i),v(i));

    y0=y(end,: );

    tt=[tt;t];

    yy=[yy;y];

    end

    plot(tt,yy);%所有的计算数值。

    展开全文
  • [轉]http://blog.sina.com.cn/s/blog_46e9b2010100tsqv.html用matlab...1.可以解析求解的微分方程。dsolve()調用格式為:y=dsolve(f1,f2,...,fmO;y=dsolve(f1,f2,...,fm,'x');如下面的例子,求解了微分方程syms t;...

    [轉] http://blog.sina.com.cn/s/blog_46e9b2010100tsqv.html

    用matlab時間也不短了,可是一直沒有接觸過微分方程。這次看看書,學習學習,記點兒筆記。

    1.可以解析求解的微分方程。

    dsolve()

    調用格式為:

    y=dsolve(f1,f2,...,fmO;

    y=dsolve(f1,f2,...,fm,'x');

    如下面的例子,求解了微分方程

    04840430e855d0005a08ebde3dff1c6a.png

    syms t;

    u=exp(-5*t)*cos(2*t-1)+5;

    uu=5*diff(u,t,2)+4*diff(u,t)+2*u;

    syms t y;

    y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y=87*exp(-5*t)*cos(2*t-1)+92*exp(-5*t)*sin(2*t-1)+10'])

    yc=latex(y)

    將yc的內容copy到latex中編譯,得到結果。

    關於Matlab的微分方程,直到今天才更新第2篇,實在是很慚愧的事——因為原因都在於太懶惰,而不是其他的什麼。

    在上一篇中,我們使用dsolve可以解決一部分能夠解析求解的微分方程、微分方程組,但是對於大多數微分方程(組)而言不能得到解析解,這時數值求解也就是沒有辦法的辦法了,好在數值解也有很多的用處。

    數值分析方法中講解了一些Eular法、 Runge-Kutta 法等一些方法,在matlab中內置的ode求解器可以實現不同求解方法的相同格式的調用,而不必太關心matlab究竟是用什麼

    這一回我們來說明ode45求解器的使用方法。

    1.ode45求解的上手例子:

    求解方程組

    Dx=y+x(1-x^2-y^2);

    Dy=-x+y*(1-x^2-y^2)

    初值x=0.1;y=0.2;

    先說明一下最常用的ode45調用方式,和相應的函數文件定義格式。

    [t,x]=ode45(odefun,tspan,x0);

    其中,Fun就是導函數,tspan為求解的時間區間(或時間序列,如果採用時間序列,則必須單調),x0為初值。

    這時,函數文件可以採用如下方式定義

    function dx=odefun(t,x)

    對於上面的小例子,可以用如下的程序求解。

    function jixianhuan

    clear;clc

    x0=[0.1;0.2];

    [t,x]=ode45(@jxhdot,[0,100],x0);

    plot(x(:,1),x(:,2))

    function dx=jxhdot(t,x)

    dx=[

    x(2)+x(1).*(1-x(1).^2-x(2).^2);

    -x(1)+x(2).*(1-x(1).^2-x(2).^2)

    ];

    04bede3f0b3192a4fc14d8632459aab5.png

    2.終值問題

    tspan可以是遞增序列,也可以為遞減序列,若為遞減則可求解終值問題。

    76bfac4a0c5bee644f2a5471474fd5e3.pngbd4b0f96d1d1b5fe5935611a8ecd045b.png

    [t,x]=ode45(@zhongzhiode,[3,0],[1;0;2]);plot(t,x)

    function dx=zhongzhiode(t,x)

    dx=[2*x(2)^2-2;

    -x(1)+2*x(2)*x(3)-1;

    -2*x(2)+2*x(3)^2-4];

    結果如下

    e95105201b01f635a0e96e552b337cd0.png

    3.odeset

    options = odeset('name1',value1,'name2',value2,...)

    [t,x]=solver(@fun,tspan,x0,options)

    通過odeset設置options

    第一,通過求解選項的設置可以改善求解精度,使得原本可能不收斂的問題收斂。

    options=odeset('RelTol',1e-10);

    第二,求解形如M(t,x)x'=f(t,x)的方程。

    例如,方程

    x'=-0.2x+yz+0.3xy

    y'=2xy-5yz-2y^2

    x+y+z-2=0

    可以變形為

    [1  0  0][x']    [-0.2x+yz+0.3xy]

    [0  1  0][y'] = [2xy-5yz-2y^2   ]

    [0  0  0][z']    [x+y+z-2           ]

    這樣就可以用如下的代碼求解該方程

    function mydae

    M=[1 0 0;0 1 0;0 0 0];

    options=odeset('Mass',M);

    x0=[1.6,0.3,0.1];

    [t,x]=ode15s(@daedot,[0,1.5],x0,options);plot(t,x)

    function dx=daedot(t,x)

    dx=[

    -0.2*x(1)+x(2)*x(3)+0.3*x(1)*x(2);

    2*x(1)*x(2)-5*x(2)*x(3)-2*x(2)*x(2);

    x(1)+x(2)+x(3)-2];

    af86744f06106793ebc6330067008418.png

    4.帶附加參數的ode45

    有時我們需要研究微分方程組中的參數對於解的影響,這時採用帶有參數的ode45求解會使求解、配合循環使用,可以使得求解的過程更加簡捷。

    使用方法:只需將附加參數放在options的後面就可以傳遞給odefun了。

    看下面的例子。

    function Rossler

    clear;clc

    a=[0.2,0.2];

    b=[0.2,0.5];

    c=[5.7,10];

    x0=[0 0 0];

    for jj=1:2

    [t,x]=ode45(@myRossler,[0,100],x0,[],a(jj),b(jj),c(jj));

    figure;plot3(x(:,1),x(:,2),x(:,3));grid on;

    end

    function dx=myRossler(t,x,a,b,c)

    dx=[

    -x(2)-x(3);

    x(1)+a*x(2);

    b+(x(1)-c)*x(3)];

    18f4336d80317b3fbaddf6c71ac50e71.png64c6cbc1afa57682ea9dd67d8efbb327.gif

    5. 剛性方程的求解

    剛性方程就是指各個自變量的變化率差異很大,會造成通常的求解方法失效。

    這是matlab中自帶的一個例子,使用ode15s求解,如果用ode45求解就會出現錯誤。

    a4c26d1e5885305701be709a3d33442f.png

    function myode15study

    [t,Y] = ode15s(@vdp1000,[0 3000],[2 0]);

    plot(T,Y(:,1),'-o')

    figure;plot(Y(:,1),Y(:,2))

    function dy = vdp1000(t,y)

    dy = zeros(2,1);

    dy(1) = y(2);

    dy(2) = 1000*(1 - y(1)^2)*y(2) - y(1);

    a4c26d1e5885305701be709a3d33442f.png

    a4c26d1e5885305701be709a3d33442f.png

    6.高階微分方程的求解

    通常的方法是進行變量替換,將原方程降階,轉換成更多變量的一階方程組進行求解。

    在這個例子里我們求解一個動力學系統里最常見的一個運動方程

    a4c26d1e5885305701be709a3d33442f.png,其中f=sin(t)

    a4c26d1e5885305701be709a3d33442f.png

    function myhighoder

    clear;clc

    x0=zeros(6,1);

    [t,x]=ode45(@myhigh,[0,100],x0);

    plot(t,x(:,1))

    function dx=myhigh(t,x)

    f=[sin(t);0;0];;

    M=eye(3);

    C=eye(3)*0.1;

    K=eye(3)-0.5*diag(ones(2,1),1)-0.5*diag(ones(2,1),-1);

    dx=[x(4:6);inv(M)*(f-C*x(4:6)-K*x(1:3))];

    7.延遲微分方程

    matlab提供了dde23求解非中性微分方程。dde23的調用格式如下:

    sol = dde23(ddefun,lags,history,tspan)

    lags是延遲量,比如方程中包含y1(t-0.2)和y2(t-0.3)則可以使用lags=[0.2,0.3]。

    這裡的ddefun必須採用如下的定義方式:

    dydt = ddefun(t,y,Z)

    其中的Z(:,1)就是y(t-lags(1)),Z(:,2)就是y(t-lags(2))...

    下面是個使用dde23求解延遲微分方程的例子。

    function mydde23study

    %   The differential equations

    %

    %        y'_1(t) = y_1(t-1)

    %        y'_2(t) = y_1(t-1)+y_2(t-0.2)

    %        y'_3(t) = y_2(t)

    %

    %   are solved on [0, 5] with history y_1(t) = 1, y_2(t) = 1, y_3(t) = 1 for

    %   t <= 0.

    clear;clc

    lags=[1,0.2];

    history=[1;1;1];

    tspan=[0,5];

    sol = dde23(@myddefun,lags,history,tspan)

    plot(sol.x,sol.y)

    function dy = myddefun(t,y,Z)

    dy=[

    Z(1,1);

    Z(1)+Z(2,2);

    y(2)    ];

    a9f06a503b1d9b8459fbcec5b14684c3.png

    8.ode15i求解隱式微分方程

    [T,Y] = ode15i(odefun,tspan,y0,yp0)

    yp0為y'的初值。

    odefun的格式如下  dy = odefun(t,y,yp),yp表示y',而方程中應該使得f(t,y,y')=0

    function myodeIMP

    %   The problem is

    %

    %         y(1)' = -0.04*y(1) + 1e4*y(2)*y(3)

    %         y(2)' =  0.04*y(1) - 1e4*y(2)*y(3) - 3e7*y(2)^2

    %         y(3)' =  3e7*y(2)^2

    %

    %   It is to be solved with initial conditions y(1) = 1, y(2) = 0, y(3) = 0

    %   to steady state.

    clear;clc

    y0=[1;0;0];

    fixed_y0=[1;1;1];

    yp0=[0 0 0];

    fixed_yp0=[];

    [y0mod,yp0mod]=decic(@myodefunimp,0,y0,fixed_y0,yp0,fixed_yp0);

    tspan=[0, logspace(-6,6)];

    [t,y] = ode15i(@myodefunimp,tspan,y0mod,yp0mod);

    y(:,2)=1e4*y(:,2);

    semilogx(t,y)

    function res=myodefunimp(t,y,yp)

    res=[

    -yp(1)-0.04*y(1)+1e4*y(2)*y(3);

    -yp(2)+0.04*y(1)-1e4*y(2)*y(3)-3e7*y(2)^2;

    -yp(3)+3e7*y(2)^2;

    ];

    c699388cbab1bb44fad52065c7016ad5.png

    這次要接觸一個新的求解ode的方法,就是使用simulink的積分器求解。

    1.還是做我們研究過的一個例子(在初識matlab微分方程(2)中採用的)。

    Dx=y+x(1-x^2-y^2);

    Dy=-x+y*(1-x^2-y^2)

    初值x=0.1;y=0.2;

    積分器中設置初始條件;f(u)中指定Dx,Dy的計算公式。508c61af8edb90951165686a04839334.png

    運行這個仿真,scope中可以看到兩個變量的時程如下:

    cc65015cf3d5bc86160673651a5a24ce.png

    在WorkSpace里可以得到tout和yout,執行plot(yout(:,1),yout(:,1))得到與ode45求解相似的結果如下

    1b48ef48d3dd411ba4dc5e2bdded3469.png

    2.這部分解決一個使用ode求解器dde23沒法求解的一類延遲微分方程(中性微分方程)。

    形如x'(t)=f(x'(t-t1),x(t),x(t-t2),x(t-t3))這類方程。dde23是無法求解的,但是可以藉助simulink仿真求解。

    看下面的這個例子。

    x'(t)=A1*x(t-t1)+A2*x'(t-t2)+B*u(t)

    t1=0.15;t2=0.5

    A1=[-12     3   -3]      A2=[0.02    0     0]    B=[0]

    [106  -116   62]         [0    0.03     0]      [1]

    [207  -207  113]         [0       0  0.04]      [2]

    在continuous里找到transport Delay,就可以實現對於信號的延遲,因此可以建立如下仿真模型

    18edcad0f471ae32b4ea96229b494511.png

    從而在scope中可以得到如下仿真結果

    a08a54adfd251ae4bd3356d049fdc524.png

    OK~初識微分方程到了這裡我想應該可以做個終結,因為我想作為零基礎的材料來看,到這裡也就可以了。以後還可能再有微分方程的內容,還請感興趣的朋友多捧場吧。

    最後,大力推薦一本書薛定宇老師的《高等應用數學問題的Matlab求解》,確實很經典。學習Matlab的時間也不算短了,可是每次翻看這本書總是能讓我有溫故而知新的感覺,是我目前見過的最好的Matlab書。強烈推薦!(對於從來沒有接觸過matlab的人來說或許有點兒難,但是如果你以後要用matlab的話買一本絕對不會後悔的。)

    展开全文
  • (i //函数定义,用于计算微分方程组中各方程右端函数值,连分式法对微分方程组积分一步函数pbs1中要用到 //该表达式有2*n+1个参数,第一个参数为自变量,随后n个参数为函数值,最后n个参数为右端函数值(即微分方程...
  • 问题来源:求大佬用1stopt 跑下程序 我运行总是出错 不知道哪里错了 - ...微分方程:y'=p1*y+p2*x 拟合参数:p1,p2 数据: t y x 0 1.25664E-07 0 0.005 0.114139113 0.156918191 0.01 0.224758442 0.31286893 0...
  • CODE:function k1k2k3format longclear allclctspan = 0:12:144;x0 = [0.350 99.8];k0 = [0.5 8 1.5 2 -0.5 0.1 0.5 5 -0.01]; %k的初值,最需要调节lb = [1 1 1 1 1 1 1 1 1 ]*-inf;ub = [1 1 1 1 1 1 1 1 1]*inf;...
  • %参数初值,其实是不知道的 ( W; z+ S& H7 `3 z! k lb = [-inf -inf -inf -inf -inf -inf -inf -inf]; % 参数下限 % ?- }+ Z$ {- \ub = [inf inf inf inf inf inf inf inf]; % 参数上限0 G9 t' h& @2 j- g5 P u0 ...
  • 一、以下公式: 其中x、y、m、n为参数,a、b为未知数,利用MATLAB求解方程;spa syms x y m n a b;code[a,b]=solve('x=m*cos(a)+n*cos(a+b)','y=m*sin(a)+n*sin(a+b)','a','b');blog会获得四组解;对a(3)、b(3)、a(4...
  • 用5阶龙格-库塔法,结果如下,常微分方程算法: 五阶龙格-库塔法(Fith Order Runge-Kutta Method)优化算法: 通用全局优化法(UGO1)计算结束原因: 达到收敛判定标准计算用时(时:分:秒:微秒): 00:00:02:672均方差(RMSE):...
  • time CLA CHMF-0.292699813 296.95 371.150 0 0.10420537730 0.004714244 0.09771414460 0.011371834 0.09162074190 0.017292886 ...
  • Lu 微分方程参数优化(拟合) 例子1数学模型: dy/dt=k*y*z+0.095*b*z dz/dt=-b*z-0.222*z 实验数据(ti; yi): ti yi0.012.3291015630.683.8512927831.14.500939361.636.7491722472.079.1120628722.679....
  • 1stOpt计算:Elapsed Time (Hr:Min:Sec:Msec): 00:00:19:284Root of Mean Square Error (RMSE): 1.18378166169196Sum of Square Error: 7.00669511279087Correlation Coef. (R): 0.999185213441573R-Square: 0....
  • OutVector[x], //输出最优参数值及目标函数终值 x.getra(0,&s1,&s2,&s3), 验证[s1,s2,s3], delete[x],delete[xx],delete[g],delete[Array],delete[数据] //销毁申请的对象 }; SetData{0, //导入的数据保存在0号缓冲...
  • 原问题地址:matlab 分式拟合,matlab 微分方程组的参数拟合_催眠神兔的博客-CSDN博客 微分方程式: x'=dx/dt=a*0.0321*(b-x)-d*x-dy/dt, y'= dy/dt=0.25*p1*exp(-p1*t)*x , 四个待求参数:a、b、d、p1 t、x、y...
  • 主要内容:matlab参数识别应用,主要适用于微分方程、微分方程组参数识别、simulink模型参数识别,领域不限。1 使用matlab识别微分方程参数以及微分方程组(多个微分方程)参数2 使用matlab调用simulink并识别simulink...
  • fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n') fprintf('\tk1 = %.9f ± %.9f\n',k(1),ci(1,2)-k(1)) fprintf('\tk2 = %.9f ± %.9f\n',k(2),ci(2,2)-k(2)) fprintf('\tk3 = %.9f ± %.9f\n',k(3),ci(3...
  • 本人对MATLAB程序不熟,最近看到一本书上一个关于常微分方程组参数估计的MATLAB程序(就两个参数)但是我编写到MATLAB运行总是不对,我很怀疑作者是不是出错了,所以希望大神指点迷津,下面我贴出程序和运行诊断!...
  • 微分方程式:x'=dx/dt=a*0.0321*(b-x)-d*x-dy/dt,y'= dy/dt=0.25*p1*exp(-p1*t)*x ,四个待求参数:a、b、d、p1t、x、y数据见下面://0 0 0//这是初值0,0,0,0.1,0.486966799,0.048018378,0.167,1.6657,0.05823,0.2,0....
  • 微分具有超前作用,对于具有容量滞后的控制通道,引入微分参与控制,在微分项设置得当的情况下,对于提高系统的动态性能指标,有着显著效果,它可以使系统超调量减小,稳定性增加,动态误差减小。 综上所述,P---比例控制...
  • 拟合常微分方程 (ODE)

    2021-04-18 14:38:15
    洛仑兹方程组:定义和数值解洛仑兹方程组是常微分方程组(请参阅洛仑兹方程组)。对于实数常量 σ,ρ,β,方程组为dxdt=σ(y-x)dydt=x(ρ-z)-ydzdt=xy-βz.一个敏感系统的洛仑兹参数值是 σ=10,β=8/3,ρ=28。从 [x(0)...
  • [ipt0,Ucr1t0,Ucr2t0,T2,T3,nV0]=solve('A1=0','A2=0','A3=0','A4=0','A5=0','A6=0','ipt0,Ucr1t0,Ucr2t0,T2,T3,nV0') 现有七个未知量 ipt0 Ucr1t0 Ucr2t0 T1 T2 T3 nV0,六个方程,我想把T1设为参数,剩下的六个...
  • 我在matlab中求解随机微分方程。例如:考虑随机微分方程dx=k A(x,t)dt+ B(x,t)dW(t)其中k是常数,A和B是函数,dW(t)是Wiener过程。我在[0,20]中为所有t绘制解决方案。我们知道dW(t)是随机生成的。我的问题是:我想...
  • 该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 dy(1)=-k*y(1)*y(2); dy(2)=Z(3,1)-a*y(2)-q*y(2); dy(3)=k*y(1)*y(2)-Z(3,1); dy(4)=a*y(2); dy(5)=q*y(2); t= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...解出参数a,q,k的值
  • 我用fminsearch 进行了常微分方程组参数优化 现想知道参数置信区间 所以改用lsqnonlin进行单参数拟合 初值是我已经得到的优化结果 但是拟合显示local minimum 而且ci = nlparci(k_opt,residual,'Jacobian',jacobian)...
  • 拟合参数:fac1~fac7 未知中间变量:lambv 需传递中间变量:lamb, pa 常量:A=0.02,w=2*pi*0.1; lambdif=A*w*cos(w*t); lambvdif=((1.0/3/fac7)*(fac1*((lamb/lambv)^fac2-(lambv/lamb)^(0.5*fac2))+fac3*((lamb...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,198
精华内容 15,679
关键字:

含参数微分