使用欧拉方法求解二阶的颂歌

111(30天)
马特
马特 2022年9月27日
评论道: 马特2022年10月4日
非常新的Matlab……
试图实现代码使用欧拉方法求解二阶的颂歌。
方程:
x z + 2 * * w * x ' + w * x = 2 * sin(2 *π* 2 * t)
z和w是常数。“t”是时间。
任何帮助就太好了。
谢谢!
5个评论
马特
马特 2022年10月4日
会做的事情。真的新这里只是学习的方法。我马上就回来!:-)

登录置评。

接受的答案

詹姆斯Tursa
詹姆斯Tursa 2022年10月4日
编辑:詹姆斯Tursa 2022年10月4日
你开始你的循环i = 1,但这意味着你x_d(张)将x_d(0),一个无效的指数,因此错误。您需要设置初始值x_d(1)和x(1),然后开始循环指数是2。例如,
(1)=初始x价值
初始xdot x_d (1) =价值
我= 2:n1%开始循环指数在2
x_dd(张)=(张)使用索引在所有园艺学会
x_d (i) =(张)使用索引在所有园艺学会
x (i) =(张)使用索引在所有园艺学会
1评论
马特
马特 2022年10月4日
工作就像一个魅力!谢谢你!

登录置评。

答案(1)

大卫。马塞罗说道
大卫。马塞罗说道 2022年9月27日
编辑:大卫。马塞罗说道 2022年9月27日
你好马特-二阶颂歌阶常微分方程可以分解为一分之二。
秘密是设置两个变量 y 作为
你有
一个例子代码
清楚,clc
tspan = [0, 1];% * 0和1之间的集成
0 x0 = [1];%初始条件为x和dx / dt
(t, X) = ode15s (@odeFun tspan, x0);%通过函数ODE求解器进行求解
x = x (: 1);
dxdt = X (:, 2);
情节(t, x)
函数dydt = odeFun (t, y)
z = 1;
w = 1;
dydt (1, - 1) = y (2);
dydt (2, 1) = 2 * z * w * y (2) - w * y(1) + 2 *罪(2 *π* 2 * t);
结束

类别

找到更多的在常微分方程帮助中心文件交换

下载188bet金宝搏


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!