Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-10-08, 22:58   #1
xjjjanet
初级会员
 
注册日期: 2008-09-22
年龄: 38
帖子: 4
声望力: 0
xjjjanet 正向着好的方向发展
默认 [求助]全局变量


程序:
clc
clear
a=1;b=2;c=3;
jieguo=f1(3)*a+f2(2)*b+c;%f1和f2是自定义函数。

function m=f1(x)
a=1;b=2;c=3;
m=a*(b*x)^2/c;

function n=f2(x)
a=1;b=2;c=3;
n=x^3*b^2/(a*c);

a,b,c是三个参数,在主程序和f1、f2里都要用到。
上面那个程序,如果的a,b,c中某一个值要变,则三个文件里的参数值都要改一遍。可不可以只改一个,其余两个文件中设置的参数在多个函数里赋一样的值呢?
原本以为全局变量是可以的。于是改为:
clc
clear
globe a b c
a=1;b=2;c=3;
jieguo=f1(3)*a+f2(2)*b+c;%f1和f2是自定义函数。

function m=f1(x)
m=a*(b*x)^2/c;

function n=f2(x)
n=x^3*b^2/(a*c);

结果是 error:f1中的a没有定义。应该是我理解错了。
哪位大大帮忙解释一下。这个,该怎么办?
xjjjanet 当前离线   回复时引用此帖
旧 2008-10-09, 16:39   #2
一个人的旅行
初级会员
 
注册日期: 2008-10-01
年龄: 41
帖子: 9
声望力: 0
一个人的旅行 正向着好的方向发展
默认 回复: [求助]全局变量

我也是新手

首先你那个全局变量写错了,可能是你输入错误,应该是global

然后在子函数里再次声明一下全局变量应该就可以了

我刚刚试过了
一个人的旅行 当前离线   回复时引用此帖
旧 2008-10-09, 21:30   #3
xjjjanet
初级会员
 
注册日期: 2008-09-22
年龄: 38
帖子: 4
声望力: 0
xjjjanet 正向着好的方向发展
默认 回复: [求助]全局变量

是我写错了。汗。。。谢谢。以后提问题之前先检查一遍。谢谢ls。我也是新手。。。呵呵。
__________________
好吧,开始学习。。。
xjjjanet 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 22:17


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.