西南交大工程计算实践作业
- 格式:docx
- 大小:223.26 KB
- 文档页数:12
请大家写成报告的形式。
要求:
1、主要的计算步骤截图(白底,黑图、黑字)
2、计算结果
3、计算结果分析 报告提交时间另行通知。
习题题目
1、图示交叉梁系的各梁与周边斜交
45°,梁端在周边为铰支,在结
点1、2、3、4、5 处各作用有垂直于结构平面的集中荷载20kN ,设各梁28/101.2m kN E ⨯=,45104m I -⨯=,241050m A -⨯=,。
绘出各梁最终弯矩图。
2、试用桁架与刚架分别建立下图的计算模型,P=10Kn, 比较计算结果。
3. 用结构分析有限元程序计算图2.40所示连续梁。
设72310kN/m E =⨯,截面形状为矩形,尺寸25cm ×50cm ,热膨胀系数51001-⨯=α.。
上侧温度升高25°,下侧温度升高10°。
要求分别计算出温度变化、均布荷载和集中力单独作用时的内力,并计算三者同时作用的组合内力。
4 计算错误!未找到引用源。
示下承式连续梁拱组合结构内力图。
拱轴线为抛物线,其方程为()x l x l
f
Z -=24,杆件截面0.6m 0.6m ⨯,弹性模量822.010kN/m E =⨯。
12m
30m
12m
6m
50kN
70kN
80kN
4m
5、空间刚架结构。
计算三层框架结构,层高3m ,楼板厚15cm ;柱尺寸为0.5⨯0.5m ,梁截面为0.2⨯0.4m ,计算楼面荷载为3kN/m 2时的内力。
723.010kN/m E =⨯.。
实验课题一基础编程第一大题:编程完成下列计算1. 当x = 3, x =2π 时,求1sin()xy x e =+ 的值。
%第一大题 %1x=[3,2*pi];y1=sin(x)+exp(x) %{ y1 =1517/75 31594/59 %}2. 用冒号法作等差数列x = 2,4,6,8,10求对应的函数22y x =+%2x=2:2:10;y2=x.^2+sqrt(2*x) %{ y2 =6 3841/204 7143/181 68 3761/36 %}3. 已知:22,35,a b c e π===计算:31sin cos();532tan()cot .3a y b c a y b ⎛⎫=+⨯ ⎪⎝⎭⎛⎫= ⎪⎝⎭%3a=2*pi,b=35,c=exp(2); y31=sin(a/5)+cos(b)*c y32=tan(b)*cot(a/3) %{ y31 =-4060/709y32 =-1019/3725 %}4. 将数据格式转换成有理格式后,清屏后重新输出a ,b ,c ,y 31,y 32(提示:参数选项或format rational ,清屏clc ) %4format rationalclc5.查看工作空间已有变量及信息。
(提示:打开变量信息窗口或whos)%5whos%{Name Size Bytes Class AttributesA 3x3 72 doubleA1 3x3 72 doubleA2 1x1 8 doubleA3 3x3 72 doubleS 21x2 336 doubleX 1x21 168 doubleY 1x21 168 doublea 1x1 8 doublea1 1x1 8 doublea11 1x1 8 doublea2 1x1 8 doublea21 1x1 8 doublea3 1x1 8 doublea31 1x1 8 doubleb 1x1 8 doublec 1x1 8 doubles 1x1 8 doublex 1x2 16 doubley1 1x2 16 doubley2 1x5 40 doubley31 1x1 8 doubley32 1x1 8 doubley71 1x1 8 doubley72 1x1 8 double%}6.a1=-6.28 a2=7.46 a3=5.37将a1,a2,a3分别向零取整后赋给a11,a21,a31。
目录解题: (1)题目一: (1)1.1计算结果 (1)1.2结果分析 (1)题目二: (2)2.1计算结果 (2)2.2结果分析 (3)题目三: (4)3.1计算结果 (4)3.2结果分析 (5)总结 (5)附录 (6)Matlab程序: (6)题目一: (6)第一问Newton法: (6)第二问Newton法: (6)第一问Steffensen加速法: (7)第二问Steffensen加速法: (7)题目二 (8)1、Jacobi迭代法 (8)2、Causs-Seidel迭代法 (8)题目三: (9)题目一:分别用牛顿法,及基于牛顿算法下的Steffensen 加速法(1)求ln(x +sin x )=0的根。
初值x0分别取0.1, 1,1.5, 2, 4进行计算。
(2)求sin x =0的根。
初值x0分别取1,1.4,1.6, 1.8,3进行计算。
分析其中遇到的现象与问题。
1.1计算结果求ln(x +sin x )=0的根,可变行为求解x-sinx-1=0的根。
1.2结果分析从结果对比我们可发现牛顿—Steffensen 加速法比牛顿法要收敛的快,牛顿法对于初值的选取特别重要,比如第(1)问中的初值为4的情况,100次内没有迭代出来收敛解,而用Steffensen 加速法,7次迭代可得;在第(2)问中的初值为1.6的情况,收敛解得31.4159,分析其原因应该是x x f cos )('=,x0=1.62π≈,0)('≈x f ;迭代式在迭代过程中会出现分母趋近于0,程序自动停止迭代的情况,此时得到的x 往往非常大,而在第一问中我们如果转化为用x+sinx=1,则可以收敛到结果。
用雅格比法与高斯-赛德尔迭代法解下列方程组Ax=b,研究其收敛性,上机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。
(1)A行分别为A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4];b1=[-3,2,4]T,b2=[100,-200,345]T,(2) A行分别为A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];b1=[3,2,1]T,b2=[5,0,-10]T,(3)A行分别为A1=[1,3],A2=[-7,1];b=[4,6]T2.1计算结果初值均为0矩阵带入(1)A行分别为A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4];b1=[-3,2,4]T,b2=[100,-200,345]T2) A行分别为A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];b1=[3,2,1]T,b2=[5,0,-10]TT2.2结果分析ρ小于1,故方程组雅可比迭代收第一小题的经计算谱半径为5427B(=).0敛。
西南交通大学限修课数学实验题目及答案三实验课题三向量与曲线绘图第一个主要问题:向量的创建和操作用元素输入法创建向量x11=(2c58c171-83259)x11=[2-58-171-83259]用冒号输入法创建向量x12=(246810121416182022)x12=2:2:22用等分取值法创建向量x13,其初值为0,终值为2π,共20个元素.X13=linspace(0,2*PI,20)使用随机输入法x14x14=rand(1,8)创建8维行向量用随机输入法创建6维整数列向量x15x15=fix(rand(6,1)*100)取向量X11的绝对值大于3的元素,形成向量x16 x16=X11(abs(X11)>3)求空间两点间距离m1(5,?4,?9)、m2(8,?6,?3)d=norm([863]-[549])向量的线性运算:x18=4 x X11+7x12 x18=4+X11+7*x12做向量的数量积x19=x11x12.x19=点(x11,x12)分别取x11与x12的前三个元素做向量的叉积赋给x10.x10=cross(x11([1:3]),x12([1:3]))第二大题:曲线绘图:构造坐标向量并绘制单词“天”的图形(首先给出组成单词的数据点的坐标)axis([0,6,0,6])x=[1155115533];y=[1551133551];直线(x,y)绘制向量y=[4553235678]的图形。
y=[4553235678];plot(y)数据数组x23=(0.10.110.12…10),函数Y23=30/x23,绘制函数曲线。
x23=0.1:0.01:10;y23=30x23;绘图(x23,y23)数据数组x24为区间[-5,5]上等分的30个点列,绘出函数y24=5x24cos(x24)的曲线图。
x24=linspace(-5,5,30);y24=5*x24.*cos(x24);绘图(x24,y24)数据数组x25是从[-2?,2?]中,取50个点,在同一块图形窗口绘出蓝色、数据点o、实线线型的y25=sin(x25)和红色、数据点*、虚线线型的z25=cos(x25)。
工程数学Ⅰ第1次离线作业三、主观题(共15道小题)29.求5元排列52143的逆序数。
解答:在排列52143中,排在5之后,并小于5的数有4个;排在2之后,并小于2的数有1个;排在1之后,并小于1的数有0个;排在4之后,并小于4的数有1个。
所以30.计算行列式解答:容易发现D的特点是:每列(行)元素之和都等于6,那么,把二、三、四行同时加到第一行,并提出第一行的公因子6,便得到由于上式右端行列式第一行的元素都等于1,那么让二、三、四行都减去第一行得31.求行列式中元素a和b的代数余子式。
解答:行列式展开方法==32.计算行列式解答:容易发现D的特点是:每列元素之和都等于6,那么,把二、三、四行同时加到第一行,并提出第一行的公因子6,便得到由于上式右端行列式第一行的元素都等于1,那么让二、三、四列都减去第一列,第一行就出现了三个零元素,即33.设,求解答:34.,求解答:35.求矩阵X使之满足解答:36.解矩阵方程,其中解答:首先计算出,所以A是可逆矩阵。
对矩阵(A,B)作初等行变换所以所以秩(A)= 4。
37.解答:38.求向量组解答:设39.求解非齐次线性方程组解答:对增广矩阵施行初等行变换化成简单阶梯形矩阵40.设解答:若41.设,求A的特征值和特征向量。
解答:42.求一个正交矩阵P,将对称矩阵化为对角矩阵。
解答:43.已知二次型,问:满足什么条件时,二次型 f 是正定的;满足什么条件时,二次型 f 是负定的。
解答:二次型 f 的矩阵为计算 A 的各阶主子式得工程数学Ⅰ第2次离线作业三、主观题(共14道小题)30.判断(1);(2)是否是五阶行列式 D5 中的项。
解答:(1)是;(2)不是;31.设求的根。
解答:行列式特点是:每行元素之和都等于 a+b+c+x,那么,把二、三、四列同时加到第一列,并提出第一列的公因子a+b+c+x,便得到二、三、四列-a依次减去第一列的-a、-b、-c倍得32.计算四阶行列式解答:D的第一行元素的代数余子式依次为由行列式的定义计算得33.用克莱姆法则解方程组解答:34.解答:35.解答:36.用初等行变换把矩阵化为阶梯形矩阵和简单阶梯形矩阵。
西南交《工程数学I》在线作业一
如果矩阵A满足A^2=A,则( )
A:A=0
B:A=E
C:A=0或A=E
D:A不可逆或A-E不可逆
参考选项:D
A、B均为n阶方阵,则必有
A:det(A)det(B)=det(B)det(A)
B:det(A+B)=det(A)+det(B)
C:(A+B)的转置=A+B
D:(AB)的转置=A的转置乘以B的转置
参考选项:A
设A为n阶方阵,r(A)<n,下列关于齐次线性方程组Ax=0的叙述正确的是
()
A:Ax=0只有零解
B:Ax=0的基础解系含r(A)个解向量
C:Ax=0的基础解系含n-r(A)个解向量
D:Ax=0没有解
参考选项:C
n阶行列式的展开式中共有()项
A:n
B:n^2
C:n!
D:n(n+1)/2
参考选项:C
设3阶实对称矩阵A的特征值分别为2,0,-3,则()
A:|A|≠0
B:A负定
C:A正定
D:|A|=0
参考选项:D
设A,B均为n阶方阵,则等式(A+B)(A-B) = A2-B2成立的充分必要条件是( ).A:A=E
B:B=O
C:A=B
D:AB=BA
1。
一、实习目的与要求本次实习是西南交通大学土木工程专业教学计划中的一项重要实践教学环节,旨在将所学的理论知识与实际工程实践相结合,提高学生的实际操作能力和工程管理能力。
通过实习,我们期望达到以下目的和要求:1. 了解土木工程的基本施工流程,熟悉施工现场的各项工作;2. 掌握土木工程相关材料的性能和施工技术;3. 培养团队协作精神和工程实践能力;4. 提高对土木工程行业现状和发展趋势的认识。
二、实习时间与地点本次实习时间为2021年6月1日至2021年6月30日,实习地点为成都市某大型住宅小区建设项目。
三、实习内容1. 施工现场考察在实习期间,我们深入施工现场,对住宅小区的建设项目进行了全面考察。
主要内容包括:(1)了解施工现场的组织架构和工程管理流程;(2)熟悉施工现场的安全措施和环境保护措施;(3)观察施工现场的施工进度和施工质量;(4)了解施工现场的施工设备和材料。
2. 施工技术学习在实习期间,我们学习了以下施工技术:(1)地基基础施工技术;(2)主体结构施工技术;(3)装饰装修施工技术;(4)园林景观施工技术。
3. 工程管理实践在实习期间,我们参与了以下工程管理工作:(1)施工进度管理:了解施工进度计划,掌握施工进度控制方法;(2)施工质量管理:了解施工质量控制标准,掌握施工质量检验方法;(3)施工安全管理:了解施工现场安全规定,掌握施工现场安全措施;(4)施工成本管理:了解施工成本构成,掌握施工成本控制方法。
四、实习心得体会1. 实践出真知。
通过本次实习,我深刻认识到理论知识与实际工程实践相结合的重要性。
在实际工程中,我们需要灵活运用所学知识,解决实际问题。
2. 团队协作精神。
在实习过程中,我们与团队成员密切配合,共同完成了各项工作任务。
这使我明白了团队协作在工程实践中的重要性。
3. 安全意识。
在施工现场,安全至关重要。
通过本次实习,我更加重视安全意识,遵守施工现场的各项规定。
4. 职业素养。
实验 9 实验报告教学班级:_制药一班______ 学生学号:xxxxxx 学生姓名:刘祥龙实验日期:__6.1_______ 实验机房:____x7407____ 助教老师:__________一、实验目的掌握对一组数据进行插入、删除、修改、以及查找的常用算法。
二、实验任务1.建立一个一维数组a,完成以下任务,输入输出格式参见下图。
(1)利用rand()函数产生10个10~100之间的整数,存入数组a中并输出;(2)使用冒泡排序法,将数组a中的数据按降序排列,并输出;(3)使用折半查找法在数组a中查找是否有键盘输入的指定数据,并输出查找结论(没找到或在第X个位置找到)。
2.建立一个一维数组a,完成以下任务,输入输出格式参见下图。
(1)自动生成斐波那契数列前10项的值,存入数组a,并输出。
(斐波那契数列前两项的值为1,从第三项开始,每一项的值是前两项值的和);(2)将键盘输入的一个数据插入数组a,使得数组a中的元素仍然保持有序;(3)删除数组a中的重复数据,并输出删除后的结果;(4)求出数组a所有元素的平均值,并输出;(5)删除数组a中所有低于平均值的元素,并输出删除后的结果。
三、实验结果(源程序+ 注释+ 运行界面截图)(要求:(1)提供源程序;(2)源程序包含必要的注释,包括:在程序头部给出本程序功能的注释、所定义变量的用途注释、程序块的功能注释、子函数的功能注释等;(3)运行结果的窗口截图,程序运行结果中输出的第一行内容必须为:程序作者的学号和姓名。
)1.#include<iostream>;using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;int a[10],i,j,t,top=0,mid,bot=9,x;cout<<"10个10到100间的随机整数为:"<<endl;for(i=0;i<10;i++){a[i]=10+rand()%(100-10+1);cout<<a[i]<<" ";}cout<<endl;//使用冒泡法,将数组a按降序排列,并输出for(i=0;i<9;i++){for(j=0;j<9;j++)if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}cout<<"按从大到小排列的结果为:"<<endl;for(i=0;i<10;i++)cout<<a[i]<<" ";cout<<endl;//使用折半查找完成指定数据的查找,并输出是否查找到的信息cout<<"请输入要查找的数:";cin>>x;while(top<=bot){mid=(top+bot)/2;if(a[mid]==x){break;}elseif(a[mid]<x)bot=mid-1;elseif(a[mid]>x)top=mid+1;}if(top<=bot)cout<<x<<"在第"<<mid+1<<"个位置。
计算机程序设计基础(C++)实验报告软件学院二O一O年三月11实验__1__实验报告教学班级: 6 学生学号:学生姓名:指导教师签名:王健金焕实验成绩:___________一、实验目的1.熟悉Visual studio 6.0集成开发环境;2.学习新建和打开控制台应用程序的方法;3.通过运行示例程序了解程序开发过程;二、实验任务.输出下面图形:12.输入一摄氏温度,输出显示所转换的华氏温度。
(提示:摄氏温度=(华氏温度-32)×5/9)三、实验结果(源程序+ 注释)#include<iostream>using namespace std;void main(){cout<<" * "<<endl;cout<<" * * * * "<<endl;cout<<" * * * * "<<endl;cout<<" * "<<endl;}2233#include<iostream>using namespace std;void main(){double a,b;cout<<"请输入一摄氏温度:"<<endl;cin>>a;b=a*9/5+32;cout<<"对应的华氏温度是:"<<b<<endl;}4 455实验__2__实验报告一、实验目的1.掌握对一般数据的输入和输出格式控制方法;2.掌握对实型数据输出形式的设置和小数位数的控制方法;3.了解数据输入的相关注意事项。
二、实验任务1. 输入一台计算机的编号和该计算机的价格,并输出这些信息。
(如编号为10987654321,价格为5 998.00元,注意此处计算机的编号作为一个整数而言超出了int 所定义的变量的存储范围,因此只能用double 型变量来存储,但输出时要求看见的是整数形式的编号)2. 输入三个同学的学号,计算机和英语课程的考试成绩,并输出这些信息。
《基础工程》练习题及答案西南交通大学峨眉校区二〇一二年十二月第一部分浅基础设计与施工一、单项选择题(只有一个选项正确,共53道小题)1.在浅埋刚性基础的设计中的刚性角是指.[本题2分](A)基础悬出长度与基础厚度的比值(B)基础悬出长度与基础厚度的比值的反正切(C)基础厚度与基础悬出长度的比值(D)基础厚度与基础悬出长度的比值的反正切正确答案:B2。
浅埋刚性基础设计时,要求刚性角β≤[β],其主要目的是。
[本题2分](A)节约材料(B)避免基础因剪切而破坏(C)避免基础因弯曲而破坏(D)避免基础材料抗压强度不足而破坏正确答案:C3。
控制刚性角[本题2分](A)基础被压坏(B)基础因挠曲而破坏(C)浪费材料(D)前述三者都不是正确答案:B4.基础的埋置深度。
[本题2分](A)只要大于最小埋深即可(B)选择在压缩性最小、强度最高的土层(C)必需在一般冲刷线以下(D)以上都不是正确答案:D5。
浅埋基础的埋深,应。
[本题2分](A)大于(等于)最小埋深(B)小于(等于)最小埋深(C)等于最小埋深(D)与最小埋深无关正确答案:A6。
基础所受的荷载中,经常性作用的荷载属于.[本题2分]A)恒载(B)附加荷载(C)主要荷载(D)特殊荷载正确答案:C7.基础所受的荷载中,经常性作用的荷载属于。
[本题2分] (A)恒载(B)附加荷载(C)主要荷载(D)特殊荷载正确答案:C8。
下列荷载中,不属于附加荷载的是[本题2分](A)风力(B)列车制动力(C)浮力(D)列车摇摆力正确答案:C9.下列荷载中,属于附加荷载的是。
[本题2分](A)列车活载(B)公路活载(C)离心力(D)制动力正确答案:D10.在基础设计时,错误的荷载组合是。
[本题2分](A)主要荷载(B)主要荷载+附加荷载(C)主要荷载+特殊荷载(D)附加荷载+特殊荷载正确答案:D11。
软弱下卧层检算时,应[本题2分](A)保证软弱下卧层底面的强度不小于该处的总压应力(B)保证软弱下卧层顶面的强度不小于该处的总压应力(C)保证软弱下卧层底面的强度不小于该处的附加压应力(D)保证软弱下卧层顶面的强度不小于该处的附加压应力正确答案:A12。
计算机实习报告一、实习目的计算机办公软件的使用是交通运输、交通工程等专业学生的基本功,本实习的目的是使学生能够通过短时间的集训式训练,熟练掌握办公软件的使用方法、CAD的基本使用方法以及SPSS的使用。
本实习是交通运输、交通工程等专业学生非常重要的一个学习环节。
本次实习的目的是:将在第一学年中课堂所学习到的计算机知识在实践中综合运用,以期能够熟练掌握办公室自动化软件、CAD、SPSS的使用方法,为以后的进一步学习和工作打下文档编辑和制作的基础。
二、实习内容1、办公室自动化1、能运用办公室自动化软件的文字编辑软件实现基本的图文编辑、制表、格式修饰以及排版打印操作。
2、利用电子表格软件实现工作表的建立、编辑与格式化,利用电子表格软件中的函数与公式对工作表的数据进行处理,实现数据管理和分析。
3、利用演示文稿软件制作演示文稿,掌握不同视图方式在演示文稿的制作和显示中的不同作用和优势,掌握演示文稿编排的基本操作、动画效果制作和母版的基本操作。
2、制图软件使用1、熟悉CAD的操作界面:标题栏、菜单栏与快捷菜单、工具栏、绘图窗口、命令行与文本窗口、状态行。
2、掌握CAD的基本功能:绘制与编辑图形、标注图形尺寸、输出与打印图形。
三、实习环境与方式1、实习环境(1)软件winXP操作系统环境,以及办公自动化软件。
(2)硬件能够安装需要的办公自动化软件的计算机。
2、实习方式由带队老师统一组织,在校内机房进行。
四、实习心得和体会在时间不长的几天实习中,确确实实感觉受益良多,这次实习的内容实际上趋于简单,而且我一开始认为这几个软件已经被用得熟透了,没有什么好学习的,因此一开始抱着很随便的态度,感觉随便糊弄一下就好了。
但一开始接触实习指导书上的内容,我就知道,井底之蛙四字何谓,看上去很简单的办公软件却还有许多我未曾掌握的功能和用途,word的使用还算顺利,因为大部分的功能和我经常使用的WPS基本相同,只是有些功能的位置不太一样,还有操作的界面也有不同,但上手还不算太难,我只是有些困惑,如果在学校里练习的是微软公司的办公软件,但是以后工作又经常用WPS系列软件岂不是会很难使用,因为位置不同,做一个操作都需要去找,很麻烦。
实验 10 实验报告教学班级:___ ___ 学生学号:_____xxxxxx_____ 学生姓名:______x x x_____实验日期:___6.15___ 实验地点:____x7407________(机房)指导教师签名:_____________ 实验成绩:______________一、实验目的1.掌握二维数值型数组的使用方法;2.掌握求解一些经典问题的常用算法。
二、实验任务1.设有一个元素皆为整数的n*n阶矩阵,键盘输入矩阵的阶n及矩阵的元素,且找出其主对角线上元素的最大值及其所在的行号。
程序输出参考如下:2.已知有const int M=100; int x[M][M],m;要求:将按照如下规律自动生成的数据存放x数组中,并输出如下图所示三角。
3.编写程序,输入数字n(n<10),输出n层正方形图案。
正方形图案最外层是第一层,依次往内,每层用的数字和层数相同。
程序输出参考如下:4.编写程序,要求输入某班N名同学的序号及3门课成绩,计算每位同学的平均成绩以及每门课的平均成绩(学号为3位整数,成绩也为整数,课程名称为:科目1、科目2、科目3)。
程序输出参考如下:三、实验结果(源程序+ 注释+ 运行界面截图)(要求:(1)提供源程序;(2)源程序包含必要的注释,包括:在程序头部给出本程序功能的注释、所定义变量的用途注释、程序块的功能注释、子函数的功能注释等;(3)运行结果的窗口截图,程序运行结果中输出的第一行内容必须为:程序作者的学号和姓名。
)1.#include <iostream>using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;int i,j,b=0,h=0,a[100][100],n;cout<<"请输入矩阵的阶:";cin>>n;cout<<"请输入一个"<<n<<"*"<<n<<"矩阵,每个数之间用空格间隔,每行输入完成后按回车"<<endl;for (i=1;i<=n;i++)//输入储存数据{for(j=1;j<=n;j++)cin>>a[i][j];}for(i=1;i<=n;i++)//对对角线上的数据进行大小判断{for(j=1;j<=n;j++){if(i==j){if(a[i][j]>b){b=a[i][j];//保存比较后较大的数h=i;//记录比较后较大数的行数}}}}cout<<"对角线上最大的数为:"<<b<<",行号为:"<<h<<endl;system ("pause");return 0;}2.#include <iostream>#include <iomanip>using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;const int M=100; int x[M][M]={0},m;cout<<"请输入m值:";cin>>m;int t=m,i,j,p=m;int h=0;for(j=0;j<m;j++){for(i=0;i<=j;i++){cout<<setw(3)<<t<<setw(6)<<" ";x[i][j]=t;t=t+p;p--;if (j==i){cout<<endl;t=m-h-1;h++;}}p=m;}cout<<"========================================"<<endl;cout<<setw(12)<<" "<<setw(3)<<x[0][0]<<endl;cout<<setw(9)<<" "<<setw(3)<<x[0][1]<<setw(3)<<" "<<setw(3)<<x[1][1]<<endl;cout<<setw(6)<<" "<<setw(3)<<x[0][2]<<setw(3)<<" "<<setw(3)<<x[1][2]<<setw(3)<<" "<<setw(3)<<x[2][2]<<endl;cout<<setw(3)<<" "<<setw(3)<<x[0][3]<<setw(3)<<" "<<setw(3)<<x[1][3]<<setw(3)<<" "<<setw(3)<<x[2][3]<<setw(3)<<" "<<setw(3)<<x[3][3]<<endl;cout<<setw(3)<<x[0][4]<<setw(3)<<" "<<setw(3)<<x[1][4]<<setw(3)<<" "<<setw(3)<<x[2][4]<<setw(3)<<" "<<setw(3)<<x[3][4]<<setw(3)<<" "<<setw(3)<<x[4][4]<<endl;system ("pause");return 0;}3. #include <iostream>using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;int a[100][100],b[100][100],i,j,k,h,n,m;cout<<"请输入正方形层数;";cin>>n;m=2*n-1;for(i=0,k=0;i<n,k<n;i++,k++) //输入保留左上四分之一正方形数据{for(j=0,h=0;j<n,h<n;j++,h++){if(i<j)a[i][j]=i+1;elsea[i][j]=j+1;b[k][h]=a[i][j];}}for(i=0,k=0;i<n,k<n;i++,k++) //将坐上四分之一正方形复制到右上角四分之一正方形{for(j=m-1,h=0;j>=n;j--,h++)a[i][j]=b[k][h];}for(i=m-1,k=0;i>=n,k<n;i--,k++)//复制到左下角四分之一正方形{for(j=0,h=0;j<n,h<n;j++,h++)a[i][j]=b[k][h];}for(i=m-1,k=0;i>=n,k<n;i--,k++)//复制到右下角四分之一正方形{for(j=m-1,h=0;j>=n,h<n;j--,h++)a[i][j]=b[k][h];}for(i=0;i<m;i++)//输出矩阵{for(j=0;j<m;j++){cout<<a[i][j]<<" ";}cout<<endl;}system("pause");return 0;}4.#include <iostream>using namespace std;int main(){cout<<"xxxxxxxxx"<<endl;int a[100][100],i,j,N,m,n;cout<<"请按下列顺序输入:"<<endl;cout<<"学号"<<" "<<"科目1"<<" "<<"科目2"<<" "<<"科目3"<<endl;N=3;m=0;n=0;for(i=0;i<N;i++)//输入同学的学号成绩{for(j=0;j<4;j++){cin>>a[i][j];}}for(i=0;i<N;i++)//计算某同学平均分{for(j=1;j<4;j++)m+=a[i][j];n=m/3;m=0;cout<<"学号为"<<a[i][0]<<"的同学的平均分为:"<<n<<endl;}for(j=1;j<4;j++)//计算某科目平均分{for(i=0;i<N;i++)m+=a[i][j];n=m/3;m=0;cout<<"科目"<<j<<"的平均分为:"<<n<<endl;}system("pause");return 0;}。
西南交通大学《算法设计与分析》指导教师:尹治本学院:信息科学与技术学院班级:软件一班姓名:***学号:***2013年11月作业一、8-皇后问题1、实验代码:#include "stdio.h"int count;int queen[10], column[20], left[20], right[20];void prt1(){int j;printf("No.%d ", ++count);for (j = 1; j <= 8; j++) printf("%3d", queen[j]);printf("\n");}void meun(int i){int j;for (j = 1; j <= 8; j++)if (column[j] && left[i - j + 8] && right[i + j]){queen[i] = j; column[j] = 0;left[i - j + 8] = 0; right[i + j] = 0;if (i<8) meun(i + 1);else prt1();column[j] = left[i - j + 8] = right[i + j] = 1;}}void main(){int i;for (i = 1; i <= 16; i++)column[i] = left[i] = right[i] = 1;count = 0; meun(1);}2、实验结果作业二:Quicksort 快速排序算法1、实验代码:#include<iostream>#include<stdlib.h>using namespace std;int Partition(int arry[],int start,int end){int pivot=arry[start];while(start<end){while(arry[end]>pivot&&start<end)end--;arry[start]=arry[end];while(arry[start]<pivot&&start<end)start++;arry[end]=arry[start];}arry[start]=pivot;return start;}void QSort(int arry[],int start,int end){if(start<end){int pivotkey=Partition(arry,start,end);QSort(arry,start,pivotkey-1);QSort(arry,pivotkey+1,end);}}void QuickSort(int arry[],int len){QSort(arry,0,len);}void main(){int arry[10];cout<<"输入10个数:"<<endl;for(int i=0;i<10;i++){cin>>arry[i];}cout<<endl;QuickSort(arry,10);cout<<"排序后:"<<endl;for(int i=0;i<10;i++){cout<<arry[i]<<" ";}cout<<endl;} 2、实验结果作业三、Heapsort 堆排序算法1、实验代码:#include <iostream>#include <stdlib.h>#define N 10using namespace std;void BuildMaxHeap(int * array);void HeapSort(int * array);void MaxHeapify(int * array,int n);int HeapSize;int main(){int array[N];cout<<"请输入10个数:";for(int i=0 ; i<N ; i++){cin>>array[i];} cout<<endl<<"排序后:"<<endl;HeapSort(array);for(int k=0;k<N;k++){cout<<array[k]<<" ";}cout<<endl;return 0;} void HeapSort(int * array){BuildMaxHeap(array);for(int i=N-1 ; i>=0 ; i--){int temp = array[0];array[0] = array[i];array[i] = temp;HeapSize -= 1;MaxHeapify(array,1);}}void BuildMaxHeap(int * array){HeapSize = N;for(int i = N/2 ; i>=1 ; i--){MaxHeapify(array,i);} }void MaxHeapify(int * array,int temp){ int largest;int l = 2*temp ;int r = 2*temp+1;if(l <= HeapSize && array[l-1] > array[temp-1]){largest = l;}else{largest = temp;}if(r <= HeapSize && array[r-1] > array[largest-1]){largest = r;}if(largest != temp){int t = array[temp-1];array[temp-1] = array[largest-1];array[largest-1] = t;MaxHeapify(array,largest);} }2、实验结果作业四:Quicksort like(类似于快速排序的选择算法)找中位数1、实验代码#include <iostream>#include <cassert>#include <algorithm>#include <iterator>using namespace std;int array[] = {89,98,45,26,15,35,48,86,92,65,45};const int size = sizeof array / sizeof *array;int partition(int *array, int left, int right){if (array == NULL)return -1;int pos = right;right--;while (left <= right){while (left < pos && array[left] <= array[pos])left++;while (right >= 0 && array[right] > array[pos])right--;if (left >= right)break;swap(array[left], array[right]);}swap(array[left], array[pos]);return left;}int getMidIndex(int *array, int size){if (array == NULL || size <= 0)return -1;int left = 0;int right = size - 1;int midPos = right >> 1;int index = -1;while (index != midPos){index = partition(array, left, right);if (index < midPos){left = index + 1;}else if (index > midPos){right = index - 1;}else{break;}}assert(index == midPos);return array[index];}int main(){cout<<"数组元素为:"<<endl;for(int i=0;i<9;i++)cout<<array[i]<<" ";int value = getMidIndex(array, size);cout<<endl<<endl;cout << "中位数是:" << value << endl;return 0;}2、实验结果作业五:Radixsort基数排序算法1、实验代码:#include <stdio.h> #include <stdlib.h> #define MAXK 10 int get_int(void);int count_sort (int*array,int n,int d);int get_value(int a,int d);void radix_sort(int* a,int n,int d);int main() { int n = 12;int p[12] = {1234,3123,2539,5958,4365,3352,6654,7214,7684,9351,4685,3325};radix_sort(p,n,3);for (int i=0;i<n;i++) printf("%d ",p[i]);printf("\n");return 0;} void radix_sort(int* a,int n,int d) { for (int i=0;i<=d;i++) {printf("第%i次\n",i+1);count_sort(a,n,i);}} int count_sort (int *array, int n,int d) { int k[MAXK] = {0};int * temp,*b;int i;temp = (int *) malloc (sizeof (int)*n);b = (int *) malloc (sizeof (int)*n);if (NULL == temp) return 0 ;for (i=0;i<n;i++) b[i] = get_value(array[i],d);for (i=0;i<n;i++) printf("%d ",b[i]);printf("\n");for (i = 0; i < n; i++)k[b[i]]++;for (i=0;i<10;i++) printf("%d ",k[i]);printf("\n");for (i=1;i<10;i++) k[i]+=k[i-1];for (i=n-1;i>=0;i--) temp[--k[b[i]]]=array[i];for (i=0;i<n;i++) printf("%d ",temp[i]);printf("\n");for (i = 0; i < n; i++) array[i] = temp[i];free (temp);free (b);return 1 ;}int get_value(int a,int d) { int b=a;for (;d>0&&a>0;d--) b/=MAXK;return b%MAXK;} int get_int(void) { int input;char ch;while (scanf("%d",&input)!=1) { while((ch=getchar())!='\n') putchar(input);printf(" is not an integer.\nPlease enter an integer value,such as 25,-178,or 3;\n");} return input;}2、实验结果。
《工程常用算法》综合实践作业一已知方程321.10.9 1.40x x x ++-=,请用二分法、牛顿法和割线法求此方程实根的近似值,使误差不超过0.0001。
注意先确定出方程的有根区间。
(完成二分法、牛顿法、割线法)二、程序流程图(建议采用Visio 软件绘制)三、完整的程序及简要的注释#include <stdio.h> #include <math.h>/* f(x)函数 */ double f(double x) { return x*x*x + 1.1*x*x - 0.9*x - 1.4; }/* f(x)的导数 */double fd(double x) { return 3*x*x + 1.1*2*x - 0.9; }/* 二分法 *//* 输入参数:区间[a,b]、区间精度ex 、函数精度ey */ void BiPartition(double a, double b, double ex, double ey) { printf("二分法求根\n"); if(f(a)*f(b)>0) { printf("区间内无根!"); return; } double x, fx; //中间点及其函数值 int k = 1; //计数器 while(1) { x = (a+b)/2; fx = f(x); printf("k=%-3d x=%-10f f(x)=%-10f\n", k,x,fx);if( (b-a)<ex || fabs(fx)<ey ) break; //满足精度else{if(f(a)*fx<0) b = x;else a = x;}k++;}}/* 牛顿迭代法*//* 输入参数:初值x0、区间精度ex、函数精度ey */void NewtonRoot(double x0, double ex, double ey){double x1, fx1, fdx0;int k = 1;printf("牛顿法求根\n");while(1){fdx0 = fd(x0); //求导数值if (fdx0 == 0){printf("重新输入初始值!");break;}else{x1 = x0 - f(x0)/fdx0;fx1 = f(x1);printf("k=%-3d x=%-10f f(x)=%-10f\n", k,x1,fx1);if(fabs(x1-x0)<ex || fabs(fx1)<ey) break;else x0 = x1;}k++;}}/* 在主函数中运行各种求解方法*/int main(void){// 二分法计算// BiPartition(0, 5, 0.00002, 0.00001);// 牛顿法NewtonRoot(5, 0.00002, 0.00001);return 0;}四、程序运行结果【以下部分是手写的部分】五、对不同实现方法的运行结果进行比较【从收敛速度,精度比较即可】六、问题与总结(必须给出自评成绩A/B/C/D)【写出简要总结】【自评成绩:B】一、计算公式及计算方法(手写在作业最后即可)。
大学计算机基础实验报告教学班级:_______ 学号:__________ 姓名:___________ 课程教师:______________ 实验辅导教师:_____________西南交通大学2011年9月实验一微机基本操作与上网冲浪教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房)指导教师签名:__________ 实验成绩:___________一、实验目的1.掌握计算机系统的启动与关闭;2.掌握常用输入设备、输出设备、存储设备的用法。
3.掌握搜索引擎的使用;4.掌握下载与解压缩的方法;5.掌握软件安装的方法。
二、实验任务1.启动与关闭计算机。
2.利用“键盘盲打练习”软件进行键盘的指法练习。
3.硬盘信息查询。
4.利用搜索引擎搜索成都商报,阅读当日报纸新闻。
5.利用下载工具FlashGet在网上下载“NetAnts”软件压缩包,利用压缩工具winRar解压缩该包,并安装该软件。
三、实验检查内容[ ] 1.能否热启动计算机[ ] 2.能否下载打字软件(辅导老师可协助将软件下载到教师机上,学生通过网上邻居获取)[ ] 3.能否安装打字软件[ ] 4.打字速度/分钟[ ] 5.查看C区总容量[ ] 6.查看磁盘整理程序对C区的分析报告,看是否需要整理[ ] 7.写出当日成都商报的头版头条标题[ ] 8.是否将NetAnts软件安装在D区实验二文件资源的管理与操作教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房)指导教师签名:__________ 实验成绩:___________一、实验目的1.掌握文件的复制、移动、删除;2.掌握文件的重命名、属性的设置;3.掌握文件的查找;4.掌握文件夹选项操作。
计算机程序设计基础(C++)实验报告信息学院计算机教育中心二零一四年三月实验_0验报告教学班级:___ 7班__ 学生学号:__20133936_学生姓名:____葛劲松实验日期:_____2014.3.11______ 实验地点:______7307___(机房) 指导教师签名:___王威_______ 实验成绩:___________一、实验目的1.熟悉VS2010 集成开发环境;2.学习新建和打开控制台应用程序的方法;3.通过运行示例程序了解程序开发过程;二、实验任务1.新建源程序文件,编辑以下程序,编译,链接,得出运行结果,并保存程序:#include <iostream>using namespace std;void main( ){cout<<'a'<<endl;cout<<'\141'<<endl;cout<<'\x61'<<endl;}2.新建源程序文件,编辑以下程序,编译,链接,运行,输入36和64,得出运行结果,并保存程序:#include <iostream>using namespace std;int main(){float num1,num2,sum;cout << "Enter first number: ";cin >> num1;cout << "Enter second number: ";cin >> num2;sum=num1+num2;cout << "The sum is " << sum << endl;return 0;}三、实验结果1.:运行结果2.实验__1_实验报告一、实验目的1.熟悉C++程序的集成开发环境;2.学习新建和打开控制台应用程序的方法;3.掌握简单数据运算,以及输入与输出方法。
工程计算实践第一次作业
班级:专隧1班
姓名:XXXXX
学号:xxxxxxxxxx
2017年4月
1.工程背景
选取一相似实际工程,该隧道为单洞双线隧道。
区域为中低山区,地形起伏较大,山坡自然坡度约30~60度,相对高差300~860m左右,主要岩层地层岩性较单一,地表零星分布有第四系坡残积层,主要为花岗岩、花岗闪长岩、全~弱风化,全风化层厚度约为20~30m,强风化层厚3~5m,下伏弱风化层。
埋深约为30m。
掌子面围岩主要为强风化花岗岩、花岗闪长岩。
掌子面揭露呈黄褐色,岩体破碎,节理裂隙较发育,裂缝密集且部分张开;毛开挖面能够自稳,偶有掉块现象。
初期支护喷射35cm厚,C25混凝土,钢架间距60cm。
每三棍在拱部1400范围内施做一环4m长小导管,间距30cm。
二衬厚度60cm, C30混凝土。
2.计算模型建立
根据隧道支护结构尺寸信息,采用ANSYS建模,仅考虑二次衬砌受力,二次衬砌承担50%的荷载。
2.1计算参数
二衬C30混凝土以及V级围岩的参数见表1-1。
根据《铁路隧道设计规范》,可以计算出深埋隧道围岩的垂直和水平均布荷载,如表1-2所示。
对于竖向和水平的均布荷载其等效节点力分别近似取节点两相邻单元水平或垂直投影长度的一半衬砌计算宽度这一面积范围内的分布荷载总和。
结构自重直接通过ANSYS 添加密度施加。
2. 2模拟步骤
2.2.1建立模型
打开ANSYS,进入前处理器,输入如下命令可初步建立模型。
图1 模型示意图
2.2.2为模型赋予属性
模型材料选择为梁单元(beam3 ),截面宽度lm,高度0.4m,弹性模量32Gpa泊松比0.2,密度2500。
同时选择弹簧单元(combin14)设置其相关物理和几何参数,如图2所示
2.2.3网格划分
分别对用梁单元(BEAM3)弹簧单元(combin14)对其进行网格划分。
用杆单元来模拟弹簧单元。
2.2.4施加约束及荷载
施加节点约束,分别对弹簧单元施加X,Y方向的约束,约束值设置为0,同时在
隧道底部约束住隧道水平方向的位移,约束值设置为0。
:如图3所示
图3 约束设置图2.2.5施加节点荷载
节点荷载计算方法
节点荷载计算示意图如下
图4 单元ij受力图
衬砌结构承受主动垂直线性荷载和水平线性荷载,计算时将其转换为节点荷载。
假设单元ij受力如图1-10所示荷载作用,则节点i和节点j的等效节点荷载可分别由如下的荷载阵列求出。
命令流如下
*SET,_Q1, 99.404e3
*SET,_Q2, 99.404e3
*SET,_E1, 24.851e3
*SET,_E2, 24.851e3
*SET,_E3, 24.851e3
*SET,_E4, 24.851e3
*GET,_E_MAX,ELEM,,NUM,MAX
*GET,_E_MIN,ELEM,,NUM,MIN
*GET,_E_COUNT,ELEM,,COUNT
*GET,_N_MAX,NODE,,NUM,MAX
*GET,_N_MIN,NODE,,NUM,MIN
*GET,_N_COUNT,NODE,,COUNT
*GET,_LOC_X_MAX,NODE,,MXLOC,X
*GET,_LOC_X_MIN,NODE,,MNLOC,X
*GET,_LOC_Y_MAX,NODE,,MXLOC,Y
*GET,_LOC_Y_MIN,NODE,,MNLOC,Y
*SET,_WIDTH,_LOC_X_MAX-_LOC_X_MIN
*SET,_HEIGHT,_LOC_Y_MAX-_LOC_Y_MIN
*SET,_CENT_X,(_LOC_X_MAX+_LOC_X_MIN)/2
*SET,_CENT_Y,(_LOC_Y_MAX+_LOC_Y_MIN)/2
*SET,_I_ND,_N_MIN
*SET,_I_EL,_E_MIN
*DIM,_NF_INFO,ARRAY,_N_COUNT,4
*DIM,_ND_INDEX,ARRAY,_N_MAX
*DO,I,1,_N_COUNT,1
*IF,NX(_I_ND),EQ,_LOC_X_MAX,THEN
_CENT_Y=NY(_I_ND)
*ENDIF
*IF,NY(_I_ND),EQ,_LOC_Y_MAX,THEN
_CENT_X=NX(_I_ND)
*ENDIF
_NF_INFO(I,1)=_I_ND
_ND_INDEX(_I_ND)=I
_I_ND=NDNEXT(_I_ND)
*ENDDO
*DO,I,1,_E_COUNT,1
_NI=NELEM(_I_EL,1)
_NJ=NELEM(_I_EL,2)
_LOC_XI=NX(_NI)-_LOC_X_MIN
_LOC_YI=NY(_NI)-_LOC_Y_MIN
_LOC_XJ=NX(_NJ)-_LOC_X_MIN
_LOC_YJ=NY(_NJ)-_LOC_Y_MIN
*GET,_E_CENT_X,ELEM,_I_EL,CENT,X
*GET,_E_CENT_Y,ELEM,_I_EL,CENT,Y
*IF,_E_CENT_X,GT,_CENT_X,THEN
*IF,_E_CENT_Y,GT,_CENT_Y,THEN
_E_I=-_E3-(_E4-_E3)*(1-_LOC_YI/_HEIGHT)
_Q_I=-_Q1-(_Q2-_Q1)*_LOC_XI/_WIDTH
_E_J=-_E3-(_E4-_E3)*(1-_LOC_YJ/_HEIGHT)
_Q_J=-_Q1-(_Q2-_Q1)*_LOC_XJ/_WIDTH *ELSE
_E_I=-_E3-(_E4-_E3)*(1-_LOC_YI/_HEIGHT)
_Q_I=0
_E_J=-_E3-(_E4-_E3)*(1-_LOC_YJ/_HEIGHT)
_Q_J=0
*ENDIF
*ELSE
*IF,_E_CENT_Y,GT,_CENT_Y,THEN
_E_I= _E1+(_E2-_E1)*(1-_LOC_YI/_HEIGHT)
_Q_I=-_Q1-(_Q2-_Q1)*_LOC_XI/_WIDTH
_E_J= _E1+(_E2-_E1)*(1-_LOC_YJ/_HEIGHT)
_Q_J=-_Q1-(_Q2-_Q1)*_LOC_XJ/_WIDTH
*ELSE
_E_I=_E1+(_E2-_E1)*(1-_LOC_YI/_HEIGHT)
_Q_I=0
_E_J=_E1+(_E2-_E1)*(1-_LOC_YJ/_HEIGHT)
_Q_J=0
*ENDIF
*ENDIF
_FX_I=0.05*(3*_E_J+7*_E_I)*ABS(_LOC_YJ-_LOC_YI)
_FY_I=0.05*(7*_Q_I+3*_Q_J)*ABS(_LOC_XJ-_LOC_XI)
_FX_J=0.05*(7*_E_J+3*_E_I)*ABS(_LOC_YJ-_LOC_YI)
_FY_J=0.05*(3*_Q_I+7*_Q_J)*ABS(_LOC_XJ-_LOC_XI)
_NF_INFO(_ND_INDEX(_NI),2)=_NF_INFO(_ND_INDEX(_NI),2)+_FX_I _NF_INFO(_ND_INDEX(_NI),3)=_NF_INFO(_ND_INDEX(_NI),3)+_FY_I _NF_INFO(_ND_INDEX(_NJ),2)=_NF_INFO(_ND_INDEX(_NJ),2)+_FX_J _NF_INFO(_ND_INDEX(_NJ),3)=_NF_INFO(_ND_INDEX(_NJ),3)+_FY_J ! MZ
_I_EL=ELNEXT(_I_EL)
*ENDDO
*DO,I,1,_N_COUNT,1
F,_NF_INFO(I,1),FX,_NF_INFO(I,2)
F,_NF_INFO(I,1),FY,_NF_INFO(I,3)
! MZ
*ENDDO
! FREE THE MEMORY
*DEL,_ND_INDEX,,NOPR
*DEL,_NF_INFO,,NOPR
3.求解
施加重力9.8,同时指定分析类型为静态分析,然后求解,求解完成,查看,节
点轴力,弯矩,剪力图如下图,5,6,7所示
轴力图(单位:N)
弯矩图(单位:N/m)
剪力图(单位:N}m)
其中最大压力在303号单元处,其值为0.49828E+07,最大拉力在296处,其值为0.12476E+07,最大负弯矩在296号单元处,其值为0.43405E+06,最大正弯矩在283号单元处,其值为0.79314E+06,最大剪力发生在296号单元处,其值为0.60868E+06。
计算各断面最不利位置的偏心距,去年权系数,按破损截断法验算衬砌截面强度,有:K=N极限/N,式中,N极限—截面的极限承载力(轴力)N—截面的实际轴力K—强度安全系数对于截面极限承载力N极限的计算,依轴力偏心距NMe的大小有两种情况:
对混凝土矩形截面构建,当e≤0.20h时,承载能力由抗压强度控制:
N极限=φαRαbh
当e0>0.20h时,抗拉强度也控制承载能力。
内力最大四个特征点验算:。