sint在MATLAB中如何编写

sint在MATLAB中如何编写... sint在MATLAB中如何编写 展开
 我来答
你守护你的爱
2010-09-10 · TA获得超过3434个赞
知道小有建树答主
回答量:1004
采纳率:0%
帮助的人:1953万
展开全部
function z=lkfun(x,y) %f(x,y)部分,可以根据具体的函数修改
z=-0.9*y/(1+2*x);
%求解函数
%四阶龙格库塔常微分方程数值解MATLAB编程
function [y,x]=LK(a,b,y0,N)
%a,b表示数值解的区间
%y0表示初始值
%N表示解的空间密度
x=linspace(a,b,N); %待解x值
h=(b-a)/(N-1); %分成N-1个区间
y=zeros(1,N); %定义长度
y(1)=y0; %初始值
%具体的迭代过程
for i=1:N-1
k1=lkfun(x(i),y(i));
k2=lkfun(x(i)+h/2,y(i)+h*k1/2);
k3=lkfun(x(i)+h/2,y(i)+h*k2/2);
k4=lkfun(x(i)+h,y(i)+h*k3);
y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);
end
disp('常微分方程的数值解:')
disp([x;y])
实例验证 lk(0,1,1,6); %调用已编写的龙格库塔函数LK
常微分方程的数值解:
0 0.2000 0.4000 0.6000 0.8000 1.0000
1.0000 0.8595 0.7676 0.7013 0.6505 0.6099
dsolve('Dy=-0.9*y/(1+2*t)','y(0)=1') %matlab自带求解函数dsolve,进行验证
ans =1/(2*t+1)^(9/20)
t=[0:0.2:1];
1./((2*t+1).^(9/20))
ans =
0 0.2000 0.4000 0.6000 0.8000 1.0000
1.0000 0.8595 0.7676 0.7013 0.6505 0.6100
%发现误差非常小
这是以前写的一个四阶的,自己修改一下应该可以用的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
日向淳正
2010-08-30 · TA获得超过2811个赞
知道大有可为答主
回答量:2770
采纳率:0%
帮助的人:1406万
展开全部
t=1:.1:10;
y=sin(t);
plot(t,y);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dbb627
2010-08-29 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2127
采纳率:88%
帮助的人:1410万
展开全部
sin(t)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式