matlab编写如下程序:编写利用显式Euler法求解一阶常微分方程的程序。

编写利用显式Euler法求解一阶常微分方程的程序。测试方程y`=-y+x+1,0≤x≤10等号左边是y的导数!!答题正确者加分啊!!希望各位matlab高手给予支持!!^... 编写利用显式Euler法求解一阶常微分方程的程序。
测试方程y`=-y+x+1,0≤x≤10

等号左边是y的导数!!
答题正确者加分啊!!希望各位matlab高手给予支持!!^_^
展开
 我来答
gedenfuliman
推荐于2017-09-27
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
function [x,y]=euler_homework(f,x0,y0,xfinal,n)
f=input('y`=','s');
f=inline(f,'x','y');
x0=input('x0=');
xl=input('xfinal=');
y0=input('y0=');
n=input('n=');
h=(xl-x0)/n;
x(1)=x0;
y(1)=y0;
for i=1:1:n
x(i+1)=x(i)+h;
y(i+1)=y(i)+h*f(x(i),y(i));
end;
euler_homework=y(n);

哥们你吉大的吧,跟我做一样的作业,第四题对吧!!分享一下!!
陈学阳
2010-10-19 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5542万
展开全部
以下为代码
------------------------------------------
sum1=0;
for i=0:15
sum1=sum1+2^i;
end
disp(['用for循环所求的值为' num2str(sum1) ]);

sum2=0;
i=0;
while i<16
sum2=sum2+2^i;
i=i+1;
end
disp(['用while循环所求的值为' num2str(sum2) ]);
----------------------------------------------------
以下为结果
----------------------------------------------------
用for循环所求的值为65535
用while循环所求的值为65535
>> %其实用等比数列求和公式可以知道和为 2^16-1
>> 2^16-1

ans =

65535

>>
-----------------------------------------------
如果是要能够调用的函数形式的话,可以在m文件开头加上函数的定义句
function XXXXXX(),但是这时要保证XXXXXX同时是文件的名称,这样就可以在其它文件中调用XXXXXX函数了
欢迎采纳~~~

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友318b5b8
2010-10-19 · TA获得超过202个赞
知道答主
回答量:69
采纳率:0%
帮助的人:42.4万
展开全部
你没有给出初值条件,这里假设y0=1。
程序如下:
x=[0:0.01:10]'; % x,列向量,步长为0.01
length=size(x,1); % x行数,即x离散点数
y=zeros(size(x)); % y
y(1)=1; % 初值条件,需给定
for n=1:1:length-1
y(n+1)=y(n)+0.1*(-y(n)+x(n)+1);
end
plot(x,y)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式