![]() |
For循环语句中,矩阵元素带有符号变量如何运算?
我想在Matlab输出个一个6乘6的矩阵,元素是C(i,j)=(i+1)*(j+1)*alpha^(i+j),i=1到6,j=1到6,用for 循环语句, 我想让输出的这个矩阵中含有符号变量alpha。
以下是我目前的code, 主要是for 循环的 Cdo1 不对。 syms rho A h EI alpha Cd e m1=zeros(6); k1=zeros(6); Cdo1=zeros(6); for i = 1:6; for j=1:6; m1(i,j)=1./(i+j+3); k1(i,j)=i*(i+1)*j*(j+1)./(i+j-1); Cdo1(i,j)=(i+1)*(j+1)*alpha^(i+j); end end M=rho*A*h*m1; K=EI*h*k1; Cdo=2*Cd*e^2*Cdo1; 以下是matlab给出的错误原因: The following error occurred converting from sym to double: Error using mupadmex Error in MuPAD command: DOUBLE cannot convert the input expression into a double array. If the input expression contains a symbolic variable, use the VPA function instead. Error in Problemone (line 9) Cdo1(i,j)=(i+1)*(j+1)*alpha^(i+j); |
回复: For循环语句中,矩阵元素带有符号变量如何运算?
那是因为 你一开始初始化矩阵的时候用的zeros函数创建的是数值矩阵!!你尝试不要初始化,当然这会造成额外的内存重分配时间 但是 你的矩阵不是很大 应该是可以接受的。
|
所有时间均为北京时间。现在的时间是 13:22。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.