| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-12-12 
				
				年龄: 39 
				
					帖子: 2
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			function y=v(x) 
		
		
		
		
		
		
		
	if x>=1 y=1; elseif x<=1&x>=-1 y=x; else y=-1; end 如何对这个函数求定积分,直接的积分方法都失效,我现在用的这个 clear; i=1; a=QUAD8(@v,-5,-1); b=QUAD8(@v,-1,1); for x=-5:0.1:5 if x<=-1 [y(i),n]=QUAD8(@v,-5,x); elseif x<1&x>-1 [y(i),n]=QUAD8(@v,-1,x); y(i)=y(i)+a; else [y(i),n]=QUAD8(@v,1,x); y(i)=y(i)+a+b; end t(i)=x; i=i+1; end 但是感觉很麻烦 微分,更是直接没有想到方法,我的研究中,急需用到这些 高人指点哈  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-10-20 
				
				年龄: 39 
				
					帖子: 3
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			这应该是个很简单的函数,貌似不用这么麻烦吧,连adaptive Simpson's rule都用上了。你可以试试用求面积的方法。。。
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-11-30 
				
				年龄: 41 
				
					帖子: 20
				 
				
				
				声望力: 17 ![]()  | 
	
	
	
		
		
			
			 
			
			function myinthelp  
		
		
		
		
		
		
		
	f=quadl(@v,x0,x1) %% function function y=v(x) y=1*(x>=1)+x.*(x<1&x>=-1)-1*(x<-1); x0,x1是你的积分上下限  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
| 主题工具 | |
| 显示模式 | |
		
  | 
	
		 | 
			 
			相似的主题
		 | 
	||||
| 主题 | 主题作者 | 版面 | 回复 | 最后发表 | 
| [求助]仿真报错 | alex_magicsky | MATLAB论坛 | 0 | 2009-03-10 20:45 | 
| [求助]如何把矩阵用网格表示,并且上色 | xin0801 | MATLAB论坛 | 2 | 2009-02-01 03:46 | 
| [求助]The input character is not valid in MATLAB statements or expressions. | mumu | MATLAB论坛 | 2 | 2008-11-26 12:58 | 
| [求助]高斯脉冲 matlab 程序 | slimchao | MATLAB论坛 | 0 | 2008-11-14 20:17 | 
| ??? Undefined function or variable 'imhistc'.是怎么回事啊。 | hfutqianwei | MATLAB论坛 | 2 | 2008-09-26 09:19 |