作业帮 > 综合 > 作业

昨天非常感激你帮了我一个大忙,我今天又遇见问题了,希望你能再次帮帮我,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 01:30:57
昨天非常感激你帮了我一个大忙,我今天又遇见问题了,希望你能再次帮帮我,
p=3.59*10^3;
C11=28.1*10^10;
C22=34.9*10^10;
C33=29.4*10^10;
C12=12.6*10^10;
C13=8.4*10^10;
C23=8.8*10^10;
C44=10.8*10^10;
C55=13.2*10^10;
C66=13.1*10^10;
trun=5;
AA=zeros(10,10);
BB=zeros(10,10);
for i=1:5
for j=1:5
AA(i,j)=uuu(i-1,0,0,j-1);
AA(i,trun+j)=0;
AA(trun+i,j)=0;
AA(trun+i,trun+j)=uuu(i-1,0,0,j-1);
BB(i,j)=A11(i-1,j-1,C11,C55);
BB(i,trun+j)=A12(i-1,j-1,C13,C55);
BB(trun+i,j)=A21(i-1,j-1,C13,C55);
BB(trun+i,trun+j)=A22(i-1,j-1,C33,C55);
end
end
AA
BB
其中的uuu和A11,A12,A21,A22都是我定义的M文件,已经运行过了,没有问题的,整个程序运行以后,出现:Conversion to double from sym is not possible.请问如何改正程序能得到结果.不过在A11,A12,A21,A22四个M文件里有字符K,我在四个文件里面已经写了 syms k,单个运行M文件,结果中带字符K,正常的,我希望得到的结果就是AA和BB中带有字符K,请问需要改动什么地方啊?
你的AA,BB定义的是double型矩阵,在语句如 BB(i,trun+j)=A12(i-1,j-1,C13,C55);
中,你将char型给了double型,就出现了上面的问题.
解决的方法是将AA=zeros(10,10);BB=zeros(10,10);删除.
应为matlab无需定义,矩阵会自己扩展.
在本例中,你的矩阵中既有char型,又有double型,所以这个矩阵已经不是完整意义上的矩阵,而是元胞型.
关于元胞数组,请参看cell()函数