ssaw0920 发表于 2008-3-18 12:45

To RESHAPE the number of elements must not change 出错求助

源程序如下:
function =F1
syms Phyphy1 phy2 phy3xi phyi xi1 xi2 xi3 phyi1 phyi2 phyi3 L a b pho1 xi1t xi2t xi3t phyi1t phyi2t phyi3t ...
    xi1tt xi2tt xi3tt phyi1tt phyi2tt phyi3tt phy1t phy2t phy3t phy1tt phy2tt phy3tt Cyk1 Cyk2 Cyk3 Cphyk1 Cphyk2 Cphyk3...
    Dyk1 Dyk2 Dyk3 Dphyk1 Dphyk2 Dphyk3
n=input('请输入划分的rfe的个数:n=');
Sye=;
I=;
I1=zeros(3,3);
K=;
Cyk=;
Cphyk=;
ck=;
Ckll=K'*ck*K                                  %(6*6)
Cklr=-K'*ck*K;
Ckrl=-K'*ck*K;
Ckrr=K'*ck*K;
Dyk=;
Dphyk=;
dk=;
Dkll=K'*dk*K;                                  %(6*6)
Dklr=-K'*dk*K;
Dkrl=-K'*dk*K;
Dkrr=K'*dk*K;
b=6*n;
C=zeros(b,b);
k=input('请输入第k个sde:k=');
d=k+5
Ckll=sym(Ckll)
C(k:d,k:d)=double(Ckll)

提示问题:
??? Error using ==> reshape
To RESHAPE the number of elements must not change.

Error in ==> sym.double at 37
X = reshape(X,siz);

Error in ==> F1 at 29
C(k:d,k:d)=double(vpa(Ckll))
请问怎么修改?
谢谢!!!!!!

[ 本帖最后由 eight 于 2008-3-18 15:24 编辑 ]

sigma665 发表于 2008-3-18 13:39

回复 楼主 的帖子

这个错误似乎不在你的程序里,X = reshape(X,siz);没有用到


sym.double 这个文件是你编的还是自带的?

ssaw0920 发表于 2008-3-18 14:14

提示问题:
??? Error using ==> reshape
To RESHAPE the number of elements must not change.

Error in ==> sym.double at 37
X = reshape(X,siz);

Error in ==> F1 at 29
C(k:d,k:d)=double(vpa(Ckll))

这些都是运行时候显示的内容

eight 发表于 2008-3-18 15:24

置顶的常见错误整理贴中有收录——原来没有,一会收录进去。不过这些错误大同小异,就是变换前后总元素不能改变,即变换前是 的6个元素的矩阵,变换后可以是、的6元素矩阵,不能是的8元素矩阵。解决方法:自己调试一下程序,看变换前后的矩阵大小是否符合上述要求

[ 本帖最后由 eight 于 2008-3-18 15:28 编辑 ]

ssaw0920 发表于 2008-3-18 17:18

谢谢eight!
可是那个阅读权限太高了,我还看不到。

ssaw0920 发表于 2008-3-18 17:22

刚刚我把下面的量赋值以后程序可以运行了,不知道这样可以不?

Cyk1=10;Cyk2=10;Cyk3=10;
Cphyk1=10;Cphyk2=10;Cphyk3=10 ;
Dyk1=5;Dyk2=5;Dyk3=5;
Dphyk1=5;Dphyk2=5;Dphyk3=5;
L=3;

fdp0525 发表于 2009-8-5 18:16

a=

a =

   1   2   3
   2   3   1
   2   3   4

>> chol(a)
??? Error using ==> chol
Matrix must be positive definite.
怎么个回事啊??????????????????????

ChaChing 发表于 2009-8-5 21:49

回复 7楼 fdp0525 的帖子

from chol Help
R= chol(X), where X is positive definite produces an upper triangular R so that R'*R = X. If X is not positive definite, an error message is printed.

[ 本帖最后由 ChaChing 于 2009-8-5 21:50 编辑 ]
页: [1]
查看完整版本: To RESHAPE the number of elements must not change 出错求助