| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-09-22 
				
				年龄: 39 
				
					帖子: 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 
				
				年龄: 39 
				
					帖子: 4
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			是我写错了。汗。。。谢谢。以后提问题之前先检查一遍。谢谢ls。我也是新手。。。呵呵。
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	好吧,开始学习。。。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |