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 编辑 ]
回复 楼主 的帖子
这个错误似乎不在你的程序里,X = reshape(X,siz);没有用到sym.double 这个文件是你编的还是自带的? 提示问题:
??? 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))
这些都是运行时候显示的内容 置顶的常见错误整理贴中有收录——原来没有,一会收录进去。不过这些错误大同小异,就是变换前后总元素不能改变,即变换前是 的6个元素的矩阵,变换后可以是、的6元素矩阵,不能是的8元素矩阵。解决方法:自己调试一下程序,看变换前后的矩阵大小是否符合上述要求
[ 本帖最后由 eight 于 2008-3-18 15:28 编辑 ] 谢谢eight!
可是那个阅读权限太高了,我还看不到。
刚刚我把下面的量赋值以后程序可以运行了,不知道这样可以不?
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; a=
a =
1 2 3
2 3 1
2 3 4
>> chol(a)
??? Error using ==> chol
Matrix must be positive definite.
怎么个回事啊??????????????????????
回复 7楼 fdp0525 的帖子
from chol HelpR= 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]