lc622503 发表于 2006-8-8 16:28

请各位看看这个错误提示怎么改,应该简单,新人搞不定!

function =eulerpro(fun,x0,xf,y0,h)
n=fix((xf-x0)/h);x(1)=x0;y(1)=y0
for i=1:(n-1)
    x(i+1)=x0+i*h; y1=y(i)+h*feval(fun,x(i),y(i))
    y2=y(i)+h*feval(fun,x(i+1),y1);y(i+1)=(y1+y2)/2
end
function xEulerpro
clear all;clc
=eulerpro(@f,0,1,1,0.1)
plot(x,y)
function f=fun(x,y)
f=-y+x+1

??? Input argument "xf" is undefined.

Error in ==> haowan2 at 2
n=fix((xf-x0)/h);x(1)=x0;y(1)=y0
谢谢各位了

realhappy 发表于 2006-8-8 17:02

没有错误提示吗?fix是什么函数?自己定义的吗?

toes 发表于 2006-8-8 17:51

function =eulerpro(fun,x0,xf,y0,h)
n=fix((xf-x0)/h);x(1)=x0;y(1)=y0
for i=1n-1)
    x(i+1)=x0+i*h; y1=y(i)+h*feval(fun,x(i),y(i))
    y2=y(i)+h*feval(fun,x(i+1),y1);y(i+1)=(y1+y2)/2
end
function xEulerpro
clear all;clc
=eulerpro(@f,0,1,1,0.1)
plot(x,y)
function f=fun(x,y)
f=-y+x+1


你是不是把整个程序代码写在一个m文件里了?

lc622503 发表于 2006-8-8 20:15

错误提示如下
??? Input argument "xf" is undefined.

Error in ==> haowan2 at 2
n=fix((xf-x0)/h);x(1)=x0;y(1)=y0
fix是一个取整函数,matlab自己有的


对我是把上面的内容写在一个m文件里了
有什么不对吗?
谢谢楼上的回答

雪薇梦寒 发表于 2006-8-9 09:29

clear all;clc
=eulerpro(@fun,0,1,1,0.1)
plot(x,y)

程序另存为eulerpro.m
function =eulerpro(fun,x0,xf,y0,h)
n=fix((xf-x0)/h);x(1)=x0;y(1)=y0
for i=1n-1)
    x(i+1)=x0+i*h; y1=y(i)+h*feval(fun,x(i),y(i))
    y2=y(i)+h*feval(fun,x(i+1),y1);y(i+1)=(y1+y2)/2
end
程序另存为fun.m
function f=fun(x,y)
f=-y+x+1
这样就没问题了~~

lc622503 发表于 2006-8-10 15:13

谢谢楼上的指点

就是不知道为什么要这样啊

关于这些知识的介绍要看哪一部分的书啊

刚刚学习matlab知道的还很少

以后请多多指点阿

lc622503 发表于 2006-8-10 16:18

还有一个问题就是上面那个程序是用来解决一个微分方程的通用程序

现在我想编一个解微分方程组的通用程序

请问能不能在以上的程序上做不大的变化就能达到我的目的

求各位指点阿

有什么建议和资料也行
页: [1]
查看完整版本: 请各位看看这个错误提示怎么改,应该简单,新人搞不定!