matlab 材料力学计算程序

matlab 材料力学计算程序,第1张

1.1 基本方法和模型的建立

在小变形条件下,根据力的独立作用原理,无

载荷多么复杂,都可以将其分解为若干简单载

1 复杂载荷作用F的简支梁

然后应用叠加法得到复杂载荷下梁内的弯矩:如

图1所示为受任意载荷的简支梁。在集中力偶、

集中力和分布载荷单独作用下的弯矩方程分别为

MM( )= RMA-丁+M( 一&)

R :一 M (1)

Mp( )= R^P —P( —b)

= 一 P

MfJ( )=R 一 1 q( —c)生二【】: ± 2 L (3)

则在集中力偶M 、集中力P和分布载荷q共同作

用下的弯矩方程为

M ( )= MM( )+MfJ( )+M ( ) (4)

以上各式中应用了跳跃函数,其意义如下

f 0 (I『≤ )

一L『 1( 。, ) ( >)

1.2 计算机分析的实现过程

根据上面介绍的计算模型可应用Matlab编

制如下的计算程序

clear;

L=input( L(In)= ).

M=input( M(KNm)= ).

a input( a(In)= ).

P=input( P(KNm)= ).

b=input( b(In)= ).

q=input( q(KN/m)= );

c=input( c(In)= ).

d=input( d(In)= ).

nd= 3000;

nf=nd+l:

x=linspace(0,L,nf);

dx=L/nd;

% * * * * * * * * * * * * * * * * *

RMA= M/L;nl=a/dx+l;

MM1=RMA X(1:n1):

MⅣI2=RMA X(nl+l:nf)+M :

MM=[MMl,MM2 J;

% * * * * * * * * * * * * * * * * * *

nl=b/dx+1;bb=L—b;

RPA=bb/L*P:

M[Pl=RPA*X(1:n1);

M口f)2=RPA X(nl+l:nf)

P*(x(nl+l:nf)一b);

MP=[MP1,MP2 J;

% * * * * * * * * * * * * * * * * * *

nl=c/dx+l:

n2=d/dx+1;

RqA (L一0.5*(c+d))/L q*(d—c);

Mql=RqA*X(1:n1);

Mq2=RqA X(nl+l:n2)一

0.5 q (X(nl+l:n2)一c). 2;

Mq3=RqA X(n2+l:nf)一

0.5 q*(X(n2+l:nf) c). 2

+0.5 q*(X(n2+l:nf)一d). 2;

Mq=[Mql,Mq2,Mq3];

‘J/n* * * * * * * * * * * * * * * * *

M = MM +MP+Mq:

subplot(2,l,1);Mmax=max(M),Mmin=

rain(M)

plot(X,M),

title(’复杂载荷作用下的弯矩图’)

grid

当L =3 In、M =15 kNm、q=30 kN/m、“

= 0.5 nl、6= l In、f=1.5 In、d =2.5 In时,运

行程序时,得到如图2所示的弯矩图,最大和最小

弯矩分别为Mmax=33.333 kN、Mmin=0=

要使用RK法,首先要得到问题的常微分方程,具体的分析求解因为题目很简单,这里就不说了,反正本题有关系

v'=g-k*v^2/m

其中,v'为速度对时间的导数,也就是加速度

采用RK4法,由于常微分方程只与v有关,与t无直接关系,RK4法可以简单写为

k1=f(v(n))

k2=f(v(n)+h/2*k1)

k3=f(v(n)+h/2*k2)

k4=f(v(n)+h*k3)

v(n+1)=v(n)+h/6*(k1+2k2+2k3+k4)

根据题目,有初值v(0)=0 (初速度为0),即可求解

由于手头没有装VB,所以我把一下程序用Tcl语言重写了一遍,Tcl/tk的可以正常运行,反正你可以参照着看,所有的语言编程思路是相似的。

先附上Tcl/Tk写的:

set g 9.81

set k 29.4

set m 75

#定义常微分函数

Proc f {v} {

global g k m

set f [expr $g-$k*$v**2/$m]

}

#以下是主要计算部分,调用了上面的函数

set h 0.1

set v(0) 0

set n 0

set dv 1

while {$dv >10**-3} {

set k1 [f $v($n)]

set k2 [f [expr $v($n) + $h / 2 * $k1]]

set k3 [f [expr $v($n) + $h / 2 * $k2]]

set k4 [f [expr $v($n) + $h * $k3]]

set nn [expr $n+1]

set v($nn) [expr $v($n) + $h / 6 * ($k1 + 2 * $k2 + 2 * $k3 + $k4)]

puts [expr $h * $n],$v($nn)

set dv [expr abs($v($n) - $v($nn))]

incr n

}

Tcl/Tk的运行结果:

时间,速度

0.10.968603324806

0.21.86719840948

0.32.64465167179

0.43.27770943734

0.53.76821957195

0.64.13386114838

0.74.39864064439

0.84.58638649863

0.94.71753254441

1.04.80818704498

1.14.87039891085

1.24.9128797342

1.34.94178878159

1.44.96141640673

1.54.97472149869

1.64.98373107432

1.74.98982752078

1.84.99395074243

1.94.99673848624

2.04.99862288083

2.14.99989645764

2.25.00075712243

2.35.00133870705

2.45.00173168802

2.55.00199721975

2.65.002176632

2.75.00229785401

2.85.0023797583

2.95.002435097

3.05.00247248647

3.15.00249774851

3.25.00251481666

3.35.00252634865

3.45.00253414015

3.55.00253940442

3.65.00254296119

3.75.00254536429

3.85.00254698792

3.95.00254808492

4.05.00254882609

4.15.00254932686

4.25.0025496652

4.35.0025498938

4.45.00255004825

4.55.0025501526

4.65.0025502231

4.75.00255027074

4.85.00255030293

4.95.00255032467

5.05.00255033936

5.15.00255034929

5.25.002550356

5.35.00255036053

5.45.00255036359

5.55.00255036566

5.65.00255036706

5.75.002550368

5.85.00255036864

5.95.00255036907

6.05.00255036936

6.15.00255036956

6.25.00255036969

6.35.00255036978

6.45.00255036984

6.55.00255036988

6.65.00255036991

6.75.00255036993

6.85.00255036994

6.95.00255036995

7.05.00255036996

7.15.00255036996

精确解为最大速度5.002550369969

以下是VB的代码(未调试):

Private Const g = 9.81

Private Const k = 29.4

Private Const m = 75

Function f(ByVal v) As Long

f = g - k * v ^ 2 / m

End Function

Private Sub RK4()

Dim h, k1, k2, k3, k4, dv As Long

Dim v(100) As Long

h = 0.1

v(0) = 0

n = 0

dv = 1

Do While dv >10 ^ -5

k1 = f(v(n))

k2 = f(v(n) + h / 2 * k1)

k3 = f(v(n) + h / 2 * k2)

k4 = f(v(n) + h * k3)

v(n + 1) = v(n) + h / 6 * (k1 + 2 * k2 + 2 * k3 + k4)

print v(n + 1)

dv = Abs(v(n) - v(n + 1))

n = n + 1

Loop

End Sub

出图我觉得直接在Matlab中编写或者用Excel绘制较简单,所以就不写了相关代码了,毕竟那部分复杂多了

前言:此版本的软件安装包附加激活教程我可以给您一份,不过仅供个人使用,切勿传播,希望可以帮助您

安装破解教程

1、用百度网盘下载好数据包,接压压缩包,双击“rlm_server_11.0_x64.exe”开始安装破解文件。

2、在键盘上按“WIN+R”快捷键,打开运行界面输入“services.msc”指令,进入“服务”界面,找到rlm_nl,右键点击选择停止。。

3、打开“_SolidSQUAD_”文件夹,复制Rlm文件夹到C:\Program Files\Next Limit\,替换原来的文件夹。

4、进入“服务”界面,找到rlm_nl,右键启动

点击下载xFlow2014破解版


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12189559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存