MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]符号计算问题 (https://www.labfans.com/bbs/showthread.php?t=3302)

sohu820528 2008-05-28 09:19

[求助]符号计算问题
 
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
以上程序无法运行出结果 请高手指点迷津!!!!!!

flystar 2008-05-28 16:34

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是符号变量,当然报错。

sohu820528 2008-05-28 22:09

不对啊 我是想求N1N2N3的和啊!! 所有用了sum 请高手们再给看看呗 谢谢!!

green0921 2008-05-28 22:14

那用SUM(n)不就可以了吗

sohu820528 2008-05-28 23:56

[QUOTE=green0921;11513]那用SUM(n)不就可以了吗[/QUOTE]

怎么使用啊?

zhanhuichong 2008-05-31 16:52

当然没有办法解了
你那里至少有两个错误
1.n的值没法传递过去
2.矢量算法必须加 . 但是加了 . 的运算是没有办法使用solve求解的

zhanhuichong 2008-05-31 17:01

a=150000;b=200000;c=1400000;
[COLOR="Blue"]eq1=subs(eq1[/COLOR](把那个语句全部拆开不要使用sum ) [COLOR="blue"],'a','b','c',a,b,c,);[/COLOR]
其他三句照改就是了
solve(eq1,eq2,eq3)
x=ans.x
y=ans.y
z=ans.z

sohu820528 2008-05-31 23:16

[QUOTE=zhanhuichong;11697]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...[/QUOTE]

可是我的n值很多啊 要取15个数据呢 要是改成abc是不是太麻烦了啊?
高手,有没有其他函数啊? 谢谢


所有时间均为北京时间。现在的时间是 12:33

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