早教吧作业答案频道 -->其他-->
matlab求解泛函微分方程数值解.我想用matlab求解一个泛函微分方程的数值解,编了个程序总是运行不出来,lags=[1];sol=dde23('ddefun',lags,'history',[0,100]);plot(sol.x,sol.y);title('ddefun');xlabel('t');ylabel('y');l
题目详情
matlab求解泛函微分方程数值解.
我想用matlab求解一个泛函微分方程的数值解,编了个程序总是运行不出来,
lags=[1];
sol=dde23('ddefun',lags,'history',[0,100]);
plot(sol.x,sol.y);
title('ddefun');xlabel('t');ylabel('y');
legend('y_1','y_2','y_3','y_4',2);
tx=[4.3,4.7];y=deval(sol,tx);hold on;plot(tx,y,'x');
function dydt=ddefun(t,y,Z)
ylag1=Z(:,1);
dydt=[(-0.5)*y(1)-2*y(2)+ylag1(3)
2*y(1)-0.5*y(2)+ylag1(4)
(-0.5)*y(3)-0.5*y(4)+ylag1(1)
0.5*y(3)-0.5*y(4)+ylag1(2)];
function S=history(t)
S=ones(3,1);
原方程是这样的
dy1/dt=-0.5y1-2y2+y3(t-1)
dy2/dt=2y1-0.5y2+y4(t-1)
dy3/dt=-0.5y3-0.5y4+y1(t-1)
dy4/dt=0.5y3-0.5y4+y2(t-1)
还是不对,运行后出现了这样的提示:
In an assignment A(:,matrix) = B,the number of rows in A and B
must be the same.
Error in ==> C:\MATLAB6.5\toolbox\matlab\funfun\dde23.m (lagvals)
On line 656 ==> Z(:,j) = temp(:);
Error in ==> C:\MATLAB6.5\toolbox\matlab\funfun\dde23.m
On line 270 ==> Z = lagvals(t,lags,history,t,y,[],varargin{:});
我想用matlab求解一个泛函微分方程的数值解,编了个程序总是运行不出来,
lags=[1];
sol=dde23('ddefun',lags,'history',[0,100]);
plot(sol.x,sol.y);
title('ddefun');xlabel('t');ylabel('y');
legend('y_1','y_2','y_3','y_4',2);
tx=[4.3,4.7];y=deval(sol,tx);hold on;plot(tx,y,'x');
function dydt=ddefun(t,y,Z)
ylag1=Z(:,1);
dydt=[(-0.5)*y(1)-2*y(2)+ylag1(3)
2*y(1)-0.5*y(2)+ylag1(4)
(-0.5)*y(3)-0.5*y(4)+ylag1(1)
0.5*y(3)-0.5*y(4)+ylag1(2)];
function S=history(t)
S=ones(3,1);
原方程是这样的
dy1/dt=-0.5y1-2y2+y3(t-1)
dy2/dt=2y1-0.5y2+y4(t-1)
dy3/dt=-0.5y3-0.5y4+y1(t-1)
dy4/dt=0.5y3-0.5y4+y2(t-1)
还是不对,运行后出现了这样的提示:
In an assignment A(:,matrix) = B,the number of rows in A and B
must be the same.
Error in ==> C:\MATLAB6.5\toolbox\matlab\funfun\dde23.m (lagvals)
On line 656 ==> Z(:,j) = temp(:);
Error in ==> C:\MATLAB6.5\toolbox\matlab\funfun\dde23.m
On line 270 ==> Z = lagvals(t,lags,history,t,y,[],varargin{:});
▼优质解答
答案和解析
改动:
function S=history(t)
S=ones(3,1);
改为 S=ones(4,1);
OVER!
PS.多翻翻help!
function S=history(t)
S=ones(3,1);
改为 S=ones(4,1);
OVER!
PS.多翻翻help!
看了matlab求解泛函微分方程数...的网友还看了以下:
已知反比例函数y=-a-1/X(a为常数)(1)反比例函数的图象在哪两个象限?(2)如果函数图已知 2020-04-08 …
已知函数f(x)=alnx-3x+1/x,其中a为常数,a∈R.(1),若f(x)是一个单调递减函 2020-05-13 …
一个函数用向量平移后得到另一个函数,这个向量是多少,怎么求若函数y=f(x)的图像按向量a(这个a 2020-05-16 …
三角形函数若a,b,c是任意一个三角形的三边长,函数f(x)满足若a,b,c均是函数f(x)定义域 2020-06-02 …
函数中,x每取一个确定的值,y总是有唯一的值和他对应,这才叫函数!那为什么x=a,y=a都是函数, 2020-06-14 …
给出下列四个结论:①函数y=a^x(a>0且a≠1)与函数y=loga(a^x)(a>0且a≠1) 2020-06-22 …
已知函数f (x)=sin(x+a)+cos(x+a)为奇函数,则a的一个取值为( )A:0 B: 2020-06-27 …
关于母函数(或者叫生成函数?请教一个关于母函数的问题:数列{a[n]}的,母函数是A(x).我想, 2020-07-23 …
函数对称性问题f(a+x)=f(a-x)是说明这个函数f(x)关于直线x=a对称,而函数y=f(a 2020-08-01 …
函数的定义域为开区间(a,b),其导函数在(a,b)内的图像如下图所示,则函数在开区间(a,b)内 2020-08-01 …