如何在MATLAB中手动将我以符号方式声明的变量插入到零矩阵中?
我一直在尝试将符号变量插入零矩阵如何在MATLAB中手动将我以符号方式声明的变量插入到零矩阵中?,matlab,symbolic-math,Matlab,Symbolic Math,我一直在尝试将符号变量插入零矩阵 syms k1 k2 k3 k4 global_k1 = zeros(4,4); global_k2 = zeros(4,4); global_k3 = zeros(4,4); global_k4 = zeros(4,4); global_k1(1,1) = k1; global_k1(1,2) = -k1; global_k1(2,1) = -k1; global_k1(2,2) = k1; global_k2(2,2) = k2; global_k2(
syms k1 k2 k3 k4
global_k1 = zeros(4,4);
global_k2 = zeros(4,4);
global_k3 = zeros(4,4);
global_k4 = zeros(4,4);
global_k1(1,1) = k1;
global_k1(1,2) = -k1;
global_k1(2,1) = -k1;
global_k1(2,2) = k1;
global_k2(2,2) = k2;
global_k2(2,3) = -k2;
global_k2(3,2) = -k2;
global_k2(3,3) = k2;
global_k3(2,2) = k3;
global_k3(2,3) = -k3;
global_k3(3,2) = -k3;
global_k3(3,3) = k3;
global_k4(2,2) = k4;
global_k4(2,4) = -k4;
global_k4(4,2) = -k4;
global_k4(4,4) = k4;
k_stiff = global_k1+global_k2+global_k3+global_k4;
disp('The stiffness matrix is: ');
disp(k_stiff);
当我运行程序时,它显示以下错误:
The following error occurred converting from sym to double:
Unable to convert expression into double array.
Error in HW1_1 (line 9)
global_k1(1,1) = k1;
如何将符号变量添加到零矩阵中?如果以后要替换其元素,请将它们初始化为包含零的符号矩阵。i、 e
global_k1 = sym(zeros(4,4));
最好是创建单个3D矩阵,而不是动态的
global_k1
、global_k2
、global_k3
和global_k4
矩阵
global_k = sym(zeros(4,4,4));
现在
global_k(:,:,1)
将成为您的global_k1
,依此类推。如果以后要替换其元素,请将它们初始化为包含零的符号矩阵。i、 e
global_k1 = sym(zeros(4,4));
最好是创建单个3D矩阵,而不是动态的
global_k1
、global_k2
、global_k3
和global_k4
矩阵
global_k = sym(zeros(4,4,4));
现在global_k(:,:,1)
将成为您的global_k1
等等