找回密码
 注册
Simdroid-非首页
查看: 58|回复: 4

关于在2010b版本下全局变量定义的问题

[复制链接]
发表于 2012-7-6 11:51:16 | 显示全部楼层 |阅读模式 来自 安徽马鞍山
最近尝试了《Matlab语言常用算法程序集》一书中关于全局变量定义的一个例子,按照书上的程序写发觉会报错,不知是什么原因?应该怎样改?我的matlab 版本是2010b的
程序如下,完全是抄书上的:
function x=ex0315(t,D)
global D
t(t==0)=eps;
x=sin(pi*t/D)./(pi*t/D);

function ex0315main()
global D
D=2;
b1=-2;
t=b1+[0:100]/100*(b2-b1);
plot(t,ex0315(t))


报错内容为:
??? global
          |
Error: Expression or statement is incomplete or incorrect.

请各位前辈赐教
发表于 2012-7-6 14:10:14 | 显示全部楼层 来自 北京
Simdroid开发平台
function x=ex0315(t,D)
问题应该在这,既然已经把D声明为全局变量了,就不需要通过参数传递给函数了
回复 不支持

使用道具 举报

发表于 2012-7-6 14:12:13 | 显示全部楼层 来自 北京
另外程序中的b2也没有定义
回复 不支持

使用道具 举报

 楼主| 发表于 2012-7-6 14:52:10 | 显示全部楼层 来自 安徽马鞍山
红鸟 发表于 2012-7-6 14:10
function x=ex0315(t,D)
问题应该在这,既然已经把D声明为全局变量了,就不需要通过参数传递给函数了 ...

不好意思再问一下,我把程序改成:
function x=ex0315(t)
t(t==0)=eps;
x=sin(pi*t/2)./(pi*t/2);
function ex0315main()
b1=-2;
b2=2;
t=b1+[0:100]/100*(b2-b1);
plot(t,ex0315(t))

还是会出现一样的报错,请问是为什么呢?
回复 不支持

使用道具 举报

发表于 2012-7-7 16:00:28 | 显示全部楼层 来自 北京
nemolemon 发表于 2012-7-6 14:52
不好意思再问一下,我把程序改成:
function x=ex0315(t)
t(t==0)=eps;

你把ex0315这个函数放在ex0315main下面就可以了,你试试看
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-1 23:55 , Processed in 0.031558 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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