| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-05-15 
				
				年龄: 42 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			刚接触matlab,跪求各位高手了。。。。。。 
		
		
		
		
		
		
		
	由于函数较复杂g=exp(-r*(1- s*(1-p+p*s)/((1+p)^(N-1)+s*(1-p+p*s)*(1-(1+p)^(N-1))))); 想求其各阶导数,但到十几阶之后导数式子很复杂,赋值代入很慢,用工作站跑起来也很慢,貌似需要很多天 先把程序附上,求教各位高手,有没有好的方法,请不吝赐教 syms g; syms s; syms p;syms N; syms f;syms r;syms i; g=exp(-r*(1- s*(1-p+p*s)/((1+p)^(N-1)+s*(1-p+p*s)*(1-(1+p)^(N-1))))); L1=zeros(100,1); j=1; for i=1:100; g=diff(g,'s'); r=1;s=0; N=200;p=10^(1/200)-1; f=subs(g); j=j*i; L1(i)=f/j end; plot([1:100],L1);  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-05-15 
				
				年龄: 42 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			各位高手请帮帮忙啊 
		
		
		
		
		
		
		
	我真的没有办法了 谢谢各位阿。。。。。。  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-05-15 
				
				年龄: 42 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			没有人帮帮我吗 :cry:
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-05-15 
				
				年龄: 42 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			:cry:
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2007-12-02 
				
				年龄: 44 
				
					帖子: 303
				 
				
				
				声望力: 31 ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			syms s p N r  
		
		
		
		
		
		
		
	g=exp(-r*(1- s*(1-p+p*s)/((1+p)^(N-1)+s*(1-p+p*s)*(1-(1+p)^(N-1))))); L1=zeros(100,1); j=1; g=diff(g,'s'); r=1;s=0; N=200;p=10^(1/200)-1; f=subs(g); n=1:100; L1=f./factorial(n); plot([1:100],L1); 解释: factorial(n) 就是求阶乘的,你的f 原来只需要算一次,所以 放到你的for 循环里,就多计算了99次,增加了它的计算量,并且阶乘也是你自己编程算,这个没有直接调用 函数 算起来快 在计算一个程序前,如果以前的程序结果你不需要调用,建议加 “clear” (清除内存中的变量)  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#6 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2007-12-02 
				
				年龄: 44 
				
					帖子: 303
				 
				
				
				声望力: 31 ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			你原来的程序里 没有求 高阶导数吧 :smile:
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#7 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2007-12-02 
				
				年龄: 44 
				
					帖子: 303
				 
				
				
				声望力: 31 ![]() ![]() ![]() ![]()  | 
	
	
	
		
		
			
			 
			
			对不起,我看错了一点你的程序, 
		
		
		
		
		
		
		
	我觉得你的程序好像是在算 泰勒展开式哦 ! taylor 就是泰勒展开式的命令,你看下 能说下你的要做什么不?这样更容易帮到你:heart:  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#8 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-05-15 
				
				年龄: 42 
				
					帖子: 5
				 
				
				
				声望力: 0 ![]()  | 
	
	
	
		
		
			
			 
			
			我已经用泰勒展开搞定了 谢谢你哦 :)
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
![]()  | 
	
	
| 主题工具 | |
| 显示模式 | |
		
  | 
	
		 | 
			 
			相似的主题
		 | 
	||||
| 主题 | 主题作者 | 版面 | 回复 | 最后发表 | 
| [求助]3维图的X,Y 轴可以随时间变化吗 | 莱茵河流浪 | MATLAB论坛 | 0 | 2008-05-18 04:38 | 
| 请问这个方程可以用MATLAB解没有? | thb296 | MATLAB论坛 | 6 | 2008-04-28 19:02 | 
| 求助怎样用matlab计算曲面或球体积分 | tangyongliang | MATLAB论坛 | 0 | 2008-04-05 22:32 | 
| 【求助】紧急求助关于simulink的专家 | chenlinysu | MATLAB论坛 | 2 | 2007-07-30 16:21 | 
| 【求助】紧急求助 | chenlinysu | MATLAB论坛 | 1 | 2007-06-25 18:54 |