Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-05-28, 09:19   #1
sohu820528
初级会员
 
注册日期: 2008-05-28
年龄: 42
帖子: 6
声望力: 0
sohu820528 正向着好的方向发展
默认 [求助]符号计算问题

n=[150000,200000,140000];
syms x y z
eq1='diff(sum(log(x)+(x-1)*log(n-z)-x*log(y)-((n-z)/y)^x)+sum(-((n-z)/y)^x),x)=0';
eq2='diff(sum(log(x)+(x-1)*log(n-z)-x*log(y)-((n-z)/y)^x)+sum(-((n-z)/y)^x),y)=0';
eq3='diff(sum(log(x)+(x-1)*log(n-z)-x*log(y)-((n-z)/y)^x)+sum(-((n-z)/y)^x),z)=0';
solve(eq1,eq2,eq3)
x=ans.x
y=ans.y
z=ans.z
以上程序无法运行出结果 请高手指点迷津!!!!!!
sohu820528 当前离线   回复时引用此帖
旧 2008-05-28, 16:34   #2
flystar
初级会员
 
注册日期: 2008-05-25
年龄: 37
帖子: 9
声望力: 0
flystar 正向着好的方向发展
默认 xxx

n=[150000,200000,140000];
syms x y z
eq1='diff(sum(log(x)+(x-1)*log(n(1)-z)-x*log(y)-((n(2)-z)/y)^x)+sum(-((n(3)-z)/y)^x),x)=0';
eq2='diff(sum(log(x)+(x-1)*log(n(1)-z)-x*log(y)-((n(2)-z)/y)^x)+sum(-((n(3)-z)/y)^x),y)=0';
eq3='diff(sum(log(x)+(x-1)*log(n(1)-z)-x*log(y)-((n(2)-z)/y)^x)+sum(-((n(3)-z)/y)^x),z)=0';
solve(eq1,eq2,eq3)
x=ans.x
y=ans.y
z=ans.z
这样就可以了,
你的维数不一致怎么计算呢,兄弟。
n是数组,x是符号变量,当然报错。
flystar 当前离线   回复时引用此帖
旧 2008-05-28, 22:09   #3
sohu820528
初级会员
 
注册日期: 2008-05-28
年龄: 42
帖子: 6
声望力: 0
sohu820528 正向着好的方向发展
默认

不对啊 我是想求N1N2N3的和啊!! 所有用了sum 请高手们再给看看呗 谢谢!!
sohu820528 当前离线   回复时引用此帖
旧 2008-05-28, 22:14   #4
green0921
初级会员
 
注册日期: 2008-03-28
年龄: 42
帖子: 12
声望力: 18
green0921 正向着好的方向发展
默认

那用SUM(n)不就可以了吗
green0921 当前离线   回复时引用此帖
旧 2008-05-28, 23:56   #5
sohu820528
初级会员
 
注册日期: 2008-05-28
年龄: 42
帖子: 6
声望力: 0
sohu820528 正向着好的方向发展
默认

引用:
作者: green0921 查看帖子
那用SUM(n)不就可以了吗
怎么使用啊?
sohu820528 当前离线   回复时引用此帖
旧 2008-05-31, 16:52   #6
zhanhuichong
普通会员
 
注册日期: 2008-04-04
年龄: 38
帖子: 46
声望力: 20
zhanhuichong 是一个将要出名的人zhanhuichong 是一个将要出名的人
默认

当然没有办法解了
你那里至少有两个错误
1.n的值没法传递过去
2.矢量算法必须加 . 但是加了 . 的运算是没有办法使用solve求解的
zhanhuichong 当前离线   回复时引用此帖
旧 2008-05-31, 17:01   #7
zhanhuichong
普通会员
 
注册日期: 2008-04-04
年龄: 38
帖子: 46
声望力: 20
zhanhuichong 是一个将要出名的人zhanhuichong 是一个将要出名的人
默认

a=150000;b=200000;c=1400000;
eq1=subs(eq1(把那个语句全部拆开不要使用sum ) ,'a','b','c',a,b,c,);
其他三句照改就是了
solve(eq1,eq2,eq3)
x=ans.x
y=ans.y
z=ans.z
zhanhuichong 当前离线   回复时引用此帖
旧 2008-05-31, 23:16   #8
sohu820528
初级会员
 
注册日期: 2008-05-28
年龄: 42
帖子: 6
声望力: 0
sohu820528 正向着好的方向发展
默认

引用:
作者: zhanhuichong 查看帖子
a=150000;b=200000;c=1400000;
eq1=subs(eq1(把那个语句全部拆开不要使用sum ) ,'a','b','c',a,b,c,);
其他三句照改就是了
solve(eq1,eq2,eq3)
x=ans.x
y=ans.y
z=ans.z...
可是我的n值很多啊 要取15个数据呢 要是改成abc是不是太麻烦了啊?
高手,有没有其他函数啊? 谢谢
sohu820528 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
【资料】图象处理的实例 fengpobu MATLAB论坛 14 2009-12-20 20:05
如和使向edit text中输入的字符显示为'*' dangongmujian MATLAB论坛 3 2008-06-06 16:15
[求助]那位大哥能帮我做一下这个题目? sphappy MATLAB论坛 1 2008-03-28 13:00
【求助】请求高手帮忙!! bash MATLAB论坛 0 2008-03-28 10:24
【文章】仿真设计作品--调速电风扇 yesman MATLAB论坛 0 2007-12-11 16:16


所有时间均为北京时间。现在的时间是 07:05


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.