yexl 发表于 2006-12-6 11:01

求助……

方程组:
    b1+b2+b3+b4=1
    b1*c1+b2*c2+b3*c3+b4*c4=1/2
    b1*c1^2+b2*c2^2+b3*c3^2+b4*c4^2=1/3
    b1*c1^3+b2*c2^3+b3*c3^3+b4*c4^3=1/4
    b3*a32*c2+b4*a42*c2+b4*a43*c3=1/6
    b3*a32*c2*c3+b4*a42*c2*c4+b4*a43*c3*c4=1/8
    b3*a32*c2^2+b4*a42*c3^2+b4*a43*c4^2=1/12
    b4*a43*a32*c2^2=1/24
其中b1,b2,b3,b4,c1,c2,c3,c4,a32,a42,a43均为未知数
是否可以用矩阵的方法求解?

可是为什么我输入命令
>> syms c1 c2 c3 c4
>> a=;
>> b=;
>> p=a\b
会显示错误如下
??? Error using ==> sym.mldivide
First dimensions must agree.
是哪里出了问题啊?

wf1254 发表于 2006-12-6 21:14

大哥,看清楚了,你的a矩阵是5X4的,不是方的

AaronSpark 发表于 2006-12-7 03:17

>> syms c1 c2 c3 c4
>> a=;
>> b=;
>> p=a\b

显然是不对的,你这里的a是5*4的,而b是4*1的

如果a是4*5的,b是4*1的或者a是5*4的,而b是5*1的是可以的

例如:

syms c1 c2 c3 c4
a=';
b=;
p=a\b

yexl 发表于 2006-12-9 18:13

如果a=;可以吗?
这样的话a是4*4的而b是4*1的,可是为什么还是错的啊

xjzuo 发表于 2006-12-9 19:39

ABBYABBIE 已经讲得很清楚了;
以下代码也可运行 (没有你说的出错):
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
syms c1 c2 c3 c4
a=;
b=;
p=a\b
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[ 本帖最后由 xjzuo 于 2006-12-9 19:44 编辑 ]
页: [1]
查看完整版本: 求助……