⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m_chap3_ex1.m

📁 simulink建模与仿真 基础入门源代码
💻 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 + -