📄 m_chap3_ex1.m
字号:
clear
% 求解单元 1 的刚度矩阵
x=sym ('x'); L1=sym ('L1'); % 定义x和L1为符号变量
E=3e11; I=5.2e-7;
N=[ 1 - 3 * (x^2) / (L1^2) + 2 * (x^3) / (L1^3), x - 2 * (x^2) / L1 + (x^3) / (L1^2),....
3 * (x^2) / (L1^2) - 2 * (x^3) / (L1^3), -(x^2) / L1 + (x^3) / (L1^2) ]; % 形函数
Ni=diff ( N, x, 2 ); % 对形函数进行2次微分
Nt=transpose ( Ni);
kk1=Nt * Ni;
K1=E*I*int(kk1,0,'L1'); % 对kk1进行积分,积分区间0-L1
K1=subs (K1, 'L1', 5); % 将K1矩阵中的L1代换成5,重新计算K1
% 求解单元 2 的刚度矩阵
x=sym ('x'); L2=sym ('L2'); % 定义x和L2为符号变量
E=3e11; I=5.2e-7;
N=[ 1 - 3 * (x^2) / (L2^2) + 2 * (x^3) / (L2^3), x - 2 * (x^2) / L2 + (x^3) / (L2^2),....
3 * (x^2) / (L2^2) - 2 * (x^3) / (L2^3), -(x^2) / L2 + (x^3) / (L2^2) ]; % 形函数
Ni=diff ( N, x, 2 ); % 对形函数进行2次微分
Nt=transpose ( Ni);
kk2=Nt * Ni;
K2=E* I * int (kk2, 0, 'L2'); % 对kk2进行积分,积分区间0-L2
K2=subs (K2, 'L2', 5); % 将K1矩阵中的L1代换成5,重新计算K1
% 合并刚度矩阵
K1=[K1,zeros(4,2);zeros(2,6)];
K2=[zeros(2,6);zeros(4,2),K2];
KK=K1 + K2;
% 求解最后结果
m=KK(3:6,3:6); % 将KK矩阵的3-6行和3-6列取出,组成一个4X4的矩阵
format rat % 将计算结果以分数形式表示
mm= inv ( m );
F=[0; 0; -100; 0];
format long % 将计算结果以16位有效数字表示
u=mm * F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -