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/LP:
M[Pl=RPAX(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=RqAX(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=
在MATLAB中,可以通过创建一个以m为文件扩展名的脚本文件来编写程序。下面是一个简单的例子,展示了如何编写一个名为roadm的MATLAB程序:
打开MATLAB编辑器或任何文本编辑器。
创建一个新文件,并将其命名为roadm,确保文件扩展名为m。
在roadm文件中输入以下MATLAB代码:
% roadm - 一个简单的MATLAB程序示例% 清空命令窗口和工作空间
clc;
clear;
% 输入用户姓名
name = input('请输入您的姓名: ', 's');
% 输出欢迎消息
fprintf('欢迎来到MATLAB的世界, %s!\n', name);
% 计算两个数的和
a = input('请输入第一个数: ');
b = input('请输入第二个数: ');
sum = a + b;
% 输出计算结果
fprintf('两个数的和是: %d\n', sum);
以上代码演示了一个简单的MATLAB程序,其中包含了输入、输出和简单的计算 *** 作。程序首先清空了命令窗口和工作空间,然后通过input函数获取用户输入的姓名和两个数,通过fprintf函数输出欢迎消息和计算结果。
注意:MATLAB中的注释使用%符号,用于注释掉代码中的一行或多行。注释可以帮助解释代码的作用和功能。
保存roadm文件后,您可以在MATLAB命令窗口中运行这个程序,通过输入road命令即可执行。程序会提示您输入姓名和两个数,然后输出欢迎消息和计算结果。您可以根据自己的需求和逻辑在roadm文件中编写更复杂的MATLAB程序。
Imin=imread('lenajpg');
imshow(Imin);title('原始图像');
Imout=imadjust(Imin,[30/255,150/255],[150/255,255/255]);
figure;imshow(Imout);
问题不全,只回答了一部分。需要帮的话我邮箱:weiguang@foxmailcom
我调试了下 错误出在第七行
我把前六行各变量的值给你列出来,你看一下,为什么会出现这样的错误
Name Size Bytes Class AttributesX 3x4 96 double
Y 2x4 64 double
eps 1x1 8 double
m 1x1 8 double
n 1x1 8 double
s 1x1 8 double
对于第七行
>> zeros(1,n)ans =
0 0 0 0
>> epsones(1,m+s)
ans =
10e-10
10000 10000 10000 10000 10000
以上就是关于matlab 材料力学计算程序全部的内容,包括:matlab 材料力学计算程序、MATLAB如何编写road.m程序、编写程序(用MATLAB)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)