使用Eueler多项式的方法

1视图(30天)
E
E 2022年10月8日
编辑: E2022年10月9日
信谊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
不能包含符号变量的表达式转换成数组的两倍。“潜艇”函数首先适用于替代变量的值。
我不确定如何修复这个错误或者是错误的。有人可以解释为什么它不工作,我做错了什么?任何帮助将不胜感激。

接受的答案

大卫。马塞罗说道
大卫。马塞罗说道 2022年10月8日
编辑:大卫。马塞罗说道 2022年10月8日
所以,最初,你计算函数的导数分析使用象征性的环境
信谊x
y = x ^ 3 + x ^ 2 * x;%多项式函数
yp = diff (y, x)y %符号的导数
yp =
你需要这种象征性导数变成matlab函数,你可以这样
就要= matlabFunction (yp)
就要=function_handle与价值:
@ (x) x ^ 2 * 2.0 + x。* 3.0 - -1.2 e + 1
现在,您可以使用欧拉方法解决它们所代表的颂歌。
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——”)
传奇(解析解的,欧拉”年代的方法)
5个评论
史蒂文的主
史蒂文的主 2022年10月9日
因为它听起来像你新MATLAB,我建议你开始 免费的MATLAB斜坡弯道教程 快速学习MATLAB的必需品。

登录置评。

更多的答案(0)

社区寻宝

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

开始狩猎!