matlab如何用龙格库塔法求一阶隐函数的的问题.其中t从0开始,步长是0.02s,一直到某一个值结束.
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 13:01:12
matlab如何用龙格库塔法求一阶隐函数的的问题.其中t从0开始,步长是0.02s,一直到某一个值结束.
其中c=sqrt(gx(H+h)).需要用龙格库塔法求出ξ.其中η是ξ的函数.
其中c=sqrt(gx(H+h)).需要用龙格库塔法求出ξ.其中η是ξ的函数.
先在一个空白的M文件里创建一个M函数,文件名要与函数名相同,例如:
文件名:differential.m
函数内容:
function [dxdt] = differential(t,x)
% x:就是ξ
% dxdt:与ξ对应的对时间导数项
g=9.8;
H=0.05;
h=1;
k=sqrt(3*H/(4*h^3));
c = sqrt(g*(H+h)); % 我不知道你问题中sqrt(gx(H+h))的x是什么,我当做是乘号了
eit = (H./cos(h^2)).*(k.*(c.*t-x)); % 我认为题中给的是H*sec(h^2)*(k.*(c.*t-x)),
% 你可以根据自己的意见改过来
dxdt = sqrt(g.*(eit./h).*(h+eit./2).*(eit./(h+eit)));
end
M函数编写完成后,下面就是解算了.由于M文件编程提供的ode45是变步长计算方法,
没有你写的那种格式[t,x]=ode45(@wave_generation,0:0.02:2,0)
正确格式是[t,x]=ode45(@wave_generation,[0 2],0)但步长是变的
下面我采用自己编写固定步长4阶龙格库塔法
在相同文件目录下,再建一个空的M文件,文件名任意,写入如下内容:
t0 = 0; % 起始时刻,自己根据需要修改
tf = 2; % 终止时刻,自己根据需要修改
x0 = 0; % ξ的初始值,自己根据需要修改
K = zeros(1,4);
dt = 0.02; % 积分步长
i1 = 1;
t = t0;
x = x0;
while t(i1)
再问: 嗯,我明白你的意思了。就是画出来的图和原文中的还是有差,求助。
再答: 因为这里画的是t-ξ曲线,而不是t/T-ξ/S曲线,你知道T和S的取值吗?如果T和S取的是常值,那么曲线确实不对,问题就有可能出在eit的计算上,也就是应该采用如下算法: eit = H*(sech(k*(c*t-x)))^2 % sech()本身就是一个函数,我计算发现这时ξ确实趋于水平了,然后你再分别除以T和S,画出来的曲线应该就和上图相同了
文件名:differential.m
函数内容:
function [dxdt] = differential(t,x)
% x:就是ξ
% dxdt:与ξ对应的对时间导数项
g=9.8;
H=0.05;
h=1;
k=sqrt(3*H/(4*h^3));
c = sqrt(g*(H+h)); % 我不知道你问题中sqrt(gx(H+h))的x是什么,我当做是乘号了
eit = (H./cos(h^2)).*(k.*(c.*t-x)); % 我认为题中给的是H*sec(h^2)*(k.*(c.*t-x)),
% 你可以根据自己的意见改过来
dxdt = sqrt(g.*(eit./h).*(h+eit./2).*(eit./(h+eit)));
end
M函数编写完成后,下面就是解算了.由于M文件编程提供的ode45是变步长计算方法,
没有你写的那种格式[t,x]=ode45(@wave_generation,0:0.02:2,0)
正确格式是[t,x]=ode45(@wave_generation,[0 2],0)但步长是变的
下面我采用自己编写固定步长4阶龙格库塔法
在相同文件目录下,再建一个空的M文件,文件名任意,写入如下内容:
t0 = 0; % 起始时刻,自己根据需要修改
tf = 2; % 终止时刻,自己根据需要修改
x0 = 0; % ξ的初始值,自己根据需要修改
K = zeros(1,4);
dt = 0.02; % 积分步长
i1 = 1;
t = t0;
x = x0;
while t(i1)
再问: 嗯,我明白你的意思了。就是画出来的图和原文中的还是有差,求助。
再答: 因为这里画的是t-ξ曲线,而不是t/T-ξ/S曲线,你知道T和S的取值吗?如果T和S取的是常值,那么曲线确实不对,问题就有可能出在eit的计算上,也就是应该采用如下算法: eit = H*(sech(k*(c*t-x)))^2 % sech()本身就是一个函数,我计算发现这时ξ确实趋于水平了,然后你再分别除以T和S,画出来的曲线应该就和上图相同了
matlab 关于变步长的问题
清朝有像明朝锦衣卫样的部门吗?是从清朝开始到结束一直都有的那种部门?
Matlab 给一个函数f(t),如何用它计算变量t取具体值时的函数值?
如何用matlab确定函数的系数
亚欧大陆是从哪开始到哪里结束的?)
食物链是从动物开始到植物结束的吗?
如何用matlab画具有滞后环节的一阶惯性环节的传递函数的波特图
如何用MATLAB求线性多元函数的值
请问如何用matlab求函数u = x*y^2*z^3的最值,其中x^2+2*y^2 + z^2 = 1(x > 0;
假定某一个数组有10个元素(下标值从1开始),各元素的值是在1到100之内的整数,通过随机函数产生.现要求编写程序,对这
假定某一个数组有10个元素(下标值从1开始),各元素的值是在1到100之内的整数,通过随机函数产生.现在要求编写程序,对
如何用matlab生成从zeros(6)到ones(6)的矩阵