Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-09-22
年龄: 38
帖子: 4
声望力: 0 ![]() |
![]() ![]() 程序: 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没有定义。应该是我理解错了。 哪位大大帮忙解释一下。这个,该怎么办? |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-10-01
年龄: 41
帖子: 9
声望力: 0 ![]() |
![]()
我也是新手
首先你那个全局变量写错了,可能是你输入错误,应该是global 然后在子函数里再次声明一下全局变量应该就可以了 我刚刚试过了 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-09-22
年龄: 38
帖子: 4
声望力: 0 ![]() |
![]()
是我写错了。汗。。。谢谢。以后提问题之前先检查一遍。谢谢ls。我也是新手。。。呵呵。
__________________
好吧,开始学习。。。 |
![]() |
![]() |