使用Eueler多项式的方法
1视图(30天)
显示旧的评论
信谊x
;
y = x。^ 3 + x。^ 2 - 12 * x;
%多项式函数
dy = diff (y, x) %的导数y
N = 100;
h = 0.1;
x = 4:0.1:3;
y (1) = -10;
y = 0(大小(x));
EM = [];
%空数组来存储值
为
n = 1: n
y (n + 1) = y (n) + h * dy (n);
x (n + 1) = n * h;
EM (x, y) = (x, y);
结束
情节(EMsub
“r -”
)
你好,这是我的代码。我试图写一个代码绘制f (x) = x ^ 3 + x ^ 2-12x在matlab中使用欧拉方法。我似乎能明白为什么没有运行的代码。在第12行我得到以下错误:
错误使用symengine
不能包含符号变量的表达式转换成数组的两倍。“潜艇”函数首先适用于替代变量的值。
我不确定如何修复这个错误或者是错误的。有人可以解释为什么它不工作,我做错了什么?任何帮助将不胜感激。
0评论
接受的答案
大卫。马塞罗说道
2022年10月8日
编辑:大卫。马塞罗说道
2022年10月8日
所以,最初,你计算函数的导数分析使用象征性的环境
信谊x
y = x ^ 3 + x ^ 2 * x;%多项式函数
yp = diff (y, x)y %符号的导数
你需要这种象征性导数变成matlab函数,你可以这样
就要= matlabFunction (yp)
现在,您可以使用欧拉方法解决它们所代表的颂歌。
h = 0.1;
xn = 5: h: 5;
yn = 0(大小(xn));
yn (1) = -40;
为idx = 2:长度(xn)
yn (idx) = yn (idx-1) + h *就要(xn (idx-1));
结束
现在,你可以同时绘制的解析解与数值解进行比较金宝搏官方网站
fplot (y)
持有在
情节(xn yn,“k——”)
传奇(解析解的,欧拉”年代的方法)