| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-03-03 
				
				年龄: 48 
				
					帖子: 9
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			这是求曲率最大点的程序,我单步运行可通过,结果正确,但整体一起运行就出错,错误是 
		
		
		
		
		
		
		
	?? Error using ==> ./ Matrix dimensions must agree. Error in ==> D:\lianghua\matlabwork\cequlv.m On line 9 ==> k1b=k2./(((1+k1.^2)).^(3/2)) 请教 是为什么?怎么解决? 程序如下: syms x y21 y21='5*x^2+5' k2=diff(y21,2) k1=diff(y21,1) k1b=k2./(((1+k1.^2)).^(3/2)) k1b=abs(k1b) x=-11:20 k1=subs(k1b) k1=double(k1) nk1=length(k1) maxk1=max(k1) [mk1,nk1]=find(k1==maxk1) plot(x,y,x(nk1),y(nk1),'r.')  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-01-02 
				
				
				
					帖子: 247
				 
				
				
				声望力: 22 ![]()  | 
	
	
	
		
		
			
			 
			
			楼主,你定义的函数y在哪儿呢? 
		
		
		
		
		
		
		
	plot(x,y....)中的y没有定义。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-01-02 
				
				
				
					帖子: 247
				 
				
				
				声望力: 22 ![]()  | 
	
	
	
		
		
			
			 
			
			可以了哈: 
		
		
		
		
		
		
		
	syms x y21 y21='5*x^2+5'; k2=diff(y21,2); k1=diff(y21,1); k1b=k2./(((1+k1.^2)).^(3/2)); k1b=abs(k1b); x=-11:20; k1=subs(k1b,'x',-11:20); k1=double(k1); nk1=length(k1); maxk1=max(k1); [mk1,nk1]=find(k1==maxk1); plot(x,k1,x(nk1),k1(nk1),'r.')  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2009-03-03 
				
				年龄: 48 
				
					帖子: 9
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			谢谢版主,但你的程序我在自己的机器上运行还是有错误,错误是: 
		
		
		
		
		
		
		
	?? Error using ==> ./ Matrix dimensions must agree. On line 5 ==> k1b=k2./(((1+k1.^2)).^(3/2)); 同样的还是单步可以得到结果,但运行run就出现上述错误. 原来的程序,我补充一下y syms x y21 y21='5*x^2+5' k2=diff(y21,2) k1=diff(y21,1) k1b=k2./(((1+k1.^2)).^(3/2)) k1b=abs(k1b) x=-11:20 k1=subs(k1b) k1=double(k1) nk1=length(k1) maxk1=max(k1) [mk1,nk1]=find(k1==maxk1) y=[5.*x.^2] plot(x,y,x(nk1),y(nk1),'r.')  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
		
  | 
	
		 | 
			 
			相似的主题
		 | 
	||||
| 主题 | 主题作者 | 版面 | 回复 | 最后发表 | 
| [MATLAB基础] 不用矩陣畫圖 | cody_snake | MATLAB论坛 | 1 | 2009-04-19 17:37 | 
| [求助]分解出来全是黑色一片 | yeshenyue | MATLAB论坛 | 1 | 2009-03-31 10:03 | 
| [分享]给大家传一个图像空间变换和直方图变换的数学推导 | johnny8088 | MATLAB论坛 | 0 | 2009-01-31 03:26 | 
| Matlab声音合成和滤波的问题【附代码-自己写的】 | xmuer | MATLAB论坛 | 4 | 2008-12-17 08:58 |