| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
|  | 
|  2009-03-16, 05:57 | #1 | 
| 初级会员 注册日期: 2009-02-25 年龄: 37 
					帖子: 5
				声望力: 0  |  [求助]怎样求和含有未知数的表达式? 
			
			请高人指点: 现在有一个表达式:(x-m)/(x-0.5), 其中x为未知数,m按1步长递增(m=m+1)现在已知的是这个表达式一定数量求和的值,怎么用循环把这个表达式的求和表示出来并求x呢? 比如m从m=1开始,m=1:1:5, 已知求和的值为1 则S=(x-1)/(x-0.5)+(x-2)/(x-0.5)+(x-3)/(x-0.5)+(x-4)/(x-0.5)+(x-5)/(x-0.5)=1 自己run了一下,一直显示Undefined function or method 'lt' for input arguments of type 'sym'.不知为何??? project 马上deadline了,还请哪位高手指点迷津:lovely: | 
|   |   | 
|  2009-03-16, 13:09 | #2 | 
| 初级会员 注册日期: 2008-11-30 年龄: 24 
					帖子: 27
				声望力: 17  |  回复: [求助]怎样求和含有未知数的表达式? 
			
			以m=1:5,求和的值为1为例: syms x; m=1:5; s=sum((x-m)/(x-0.5)) solve(f-1) 结果 s=(x-1)/(x-1/2)+(x-2)/(x-1/2)+(x-3)/(x-1/2)+(x-4)/(x-1/2)+(x-5)/(x-1/2) ans = 29/8 | 
|   |   | 
|  2009-03-16, 21:34 | #3 | 
| 初级会员 注册日期: 2009-02-25 年龄: 37 
					帖子: 5
				声望力: 0  |  回复: [求助]怎样求和含有未知数的表达式? 
			
			Thanks a lot. 自己试着编写了类似程序: syms x; y=0; p=0; syms x; while (p<10) p=p+1; y=y+trimf1(x,[p p+1]) end; solve(y-0.25),显示出每一步y的表达式为: y = (x-2)/(x-1) y = (x-2)/(x-1)+(x-3)/(x-2) y = (x-2)/(x-1)+(x-3)/(x-2)+(x-4)/(x-3) y = (x-2)/(x-1)+(x-3)/(x-2)+(x-4)/(x-3)+(x-5)/(x-4) y = (x-2)/(x-1)+(x-3)/(x-2)+(x-4)/(x-3)+(x-5)/(x-4)+(x-6)/(x-5) y = (x-2)/(x-1)+(x-3)/(x-2)+(x-4)/(x-3)+(x-5)/(x-4)+(x-6)/(x-5)+(x-7)/(x-6) y = (x-2)/(x-1)+(x-3)/(x-2)+(x-4)/(x-3)+(x-5)/(x-4)+(x-6)/(x-5)+(x-7)/(x-6)+(x-8)/(x-7) y = (x-2)/(x-1)+(x-3)/(x-2)+(x-4)/(x-3)+(x-5)/(x-4)+(x-6)/(x-5)+(x-7)/(x-6)+(x-8)/(x-7)+(x-9)/(x-8) y = (x-2)/(x-1)+(x-3)/(x-2)+(x-4)/(x-3)+(x-5)/(x-4)+(x-6)/(x-5)+(x-7)/(x-6)+(x-8)/(x-7)+(x-9)/(x-8)+(x-10)/(x-9) y = (x-2)/(x-1)+(x-3)/(x-2)+(x-4)/(x-3)+(x-5)/(x-4)+(x-6)/(x-5)+(x-7)/(x-6)+(x-8)/(x-7)+(x-9)/(x-8)+(x-10)/(x-9)+(x-11)/(x-10) 输入solve命令:solve(y-0.25)后,结果却显示: x = 1.0786898967617613085887798657648 2.0855661586263124742606885245834 3.0901392962871015446663250353338 4.0940124115549277509671954064637 5.0977113712866084211968191987618 6.1015696954689081199203797592360 7.1059563518414547306012042485634 8.1115164312857313681455235886801 9.1199593222558947264347081304284 10.140520090272325196244017267826 明显和方程式x的求解值不符么,按计算,y的求解值x不会这么多的吧,应该只有一个的么,怎么会有这么多呢?不知matlab是怎么计算的,为什么计算出来不是我想要的答案呢? 恳请高手指点!:lovely: | 
|   |   | 
|  2009-03-16, 21:38 | #4 | 
| 初级会员 注册日期: 2009-02-25 年龄: 37 
					帖子: 5
				声望力: 0  |  回复: [求助]怎样求和含有未知数的表达式? 
			
			忘记说明了,trimf1(x,[a b])=(x-b)./(x-a) 谢谢! | 
|   |   | 
|  2009-03-17, 09:50 | #5 | 
| 初级会员 注册日期: 2008-11-30 年龄: 24 
					帖子: 27
				声望力: 17  |  回复: [求助]怎样求和含有未知数的表达式? 
			
			上面的求解结果是正确的。你把y的表达式通分以后,分子就是一个十次方程,所以它的解是应该有十个的。
		 | 
|   |   | 
|  2009-03-20, 05:46 | #6 | 
| 初级会员 注册日期: 2009-02-25 年龄: 37 
					帖子: 5
				声望力: 0  |  回复: [求助]怎样求和含有未知数的表达式? 
			
			Make sense! Thanks a lot!
		 | 
|   |   | 
|  2009-03-20, 09:35 | #7 | 
| 普通会员 注册日期: 2007-08-07 
					帖子: 64
				声望力: 21  |  回复: [求助]怎样求和含有未知数的表达式? 
			
			我认为没有必要用循环,还可以这样 syms x m f=symsum((x-m)/(x-0.5),m,1,5); x=solve(f-1,x) 结果: x = 29/8 | 
|   |   | 
|  2009-03-23, 04:57 | #8 | 
| 初级会员 注册日期: 2009-02-25 年龄: 37 
					帖子: 5
				声望力: 0  |  回复: [求助]怎样求和含有未知数的表达式? 
			
			果然是高手,谢谢提示!
		 | 
|   |   |