如何用matlab求解离散变量二阶导数

 我来答
勤恳且温文尔雅的小海鸥N
2017-01-18 · TA获得超过3514个赞
知道小有建树答主
回答量:2126
采纳率:83%
帮助的人:220万
展开全部
求解一阶导数的公式:y'=[y(x0+h)-y(x0-h)]/(2h);
求解二阶导数的公式:y''=[y(x0+h)-2*y(x0)+y(x0-h)]/h²;
这里的自变量是x,因变量是y,步长是h
再进行编程。以下是我的求解程序:
clc;clear all
h=0.01;
%x属于【a,b】
a=-5;b=5;
x=a:h:b;
n=length(x);
%定义y
y=sin(0.3*x).*cos(3*x);
hold on
grid on
yx=zeros(1,n);
yxx=zeros(1,n);
for i=2:n-1
yx(i-1)=(y(i+1)-y(i-1))/(2*h);
yxx(i-1)=(y(i+1)+y(i-1)-2*y(i))/h^2;
end
plot(x,y,'r','linewidth',2)
plot(x(2:n-1),yx(1:n-2),'g','linewidth',2);
plot(x(2:n-1),yxx(1:n-2),'b','linewidth',2);
legend('原函数','差分一阶导数','差分二阶导数')
xlabel('x','Interpreter','latex','color','r','fontsize',28);
ylabel('y','Interpreter','latex','color','r','fontsize',28);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式