查看: 1268|回复: 3|关注: 0

[已答复] 未定义与 'function_handle' 类型的输入参数相对应的函数 euler

[复制链接]

新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
发表于 2018-3-13 22:55:47 | 显示全部楼层 |阅读模式
function[ x, y ] = euleri(f, y0, a, b, n )
% Improved euler method改进欧拉法
h = ( b - a ) / n;
x =[a zeros(1,n)];
y  =[y0 zeros(1,n)];
for i = 1 : n
    x(i+1)=x(i)+h;
    yt = y ( i ) + h *f(x ( i ), y ( i ) );
    y ( i + 1 ) =y(i)+ (h / 2) * ( f(x(i),y(i))+f(x(i+1),yt) );
end;
这个是加的函数,下面是运行的程序
f=@(x,y)x./y;
[x,y]=euleri(f,1,0,1,6);
plot(x,y,'k-')
结果输出:
未定义与 'function_handle' 类型的输入参数相对应的函数 'euleri'。

出错 Untitled (line 2)
[x,y]=euleri(f,1,0,1,6);
是哪里出问题了啊。我是新手,希望大家讲的详细点,谢谢大家!


MATLAB 基础讨论
版块优秀回答者

中级

544 麦片

财富积分


5001500


0

主题

731

帖子

111

最佳答案
  • 关注者: 17
发表于 2018-3-14 13:57:33 | 显示全部楼层
function[ x, y ] = euleri(y0, a, b, n )
f=@(x,y)x./y;
% Improved euler method改进欧拉法
h = ( b - a ) / n;
x =[a zeros(1,n)];
y  =[y0 zeros(1,n)];
for i = 1 : n
    x(i+1)=x(i)+h;
    yt = y ( i ) + h *f(x ( i ), y ( i ) );
    y ( i + 1 ) =y(i)+ (h / 2) * ( f(x(i),y(i))+f(x(i+1),yt) );
end
匿名函数可以放在一般函数体里面!有用请支持,正确请设置最优!

新手

5 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 2018-3-14 17:16:07 | 显示全部楼层
土木小王子 发表于 2018-3-14 13:57
function[ x, y ] = euleri(y0, a, b, n )
f=@(x,y)x./y;
% Improved euler method改进欧拉法

不是出现那个提示了,可显示
未定义函数或变量 'func'。

出错 f (line 2)
y=eval(func);

出错 Untitled (line 2)
[x,y]=euleri(f,1,0,1,6);
怎么改啊

新手

5 麦片

财富积分


050


0

主题

4

帖子

0

最佳答案
发表于 2018-6-7 16:09:36 | 显示全部楼层
文凯wk 发表于 2018-3-14 17:16
不是出现那个提示了,可显示
未定义函数或变量 'func'。

你好 请问你找到解决方法了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表