MATLAB计算机仿真上机作业.doc
文本预览下载声明
1、下列表达式表达了在主接触应力F的作用下,两个球体被挤压到一起时在x,y,z方向上所产生的接触应力值。
式中,
和分别为两个球的泊松比,弹性模量和直径。
用MATLAB表达形式写出上述公式并用下列给出的数值进行计算:
2、给出向量。编程使x按照向量的形式重新排列。程序应使用于任意长度的向量。对所有向量,数值0与负数放在一起。也就是说,如果0为向量的一个元素,则它将作为y向量的第一个元素。
3、如图所示曲柄滑块机构,滑块的位移为:
位移s是角度φ(以角度表示)的函数,当时,使用
plot(φ,s)函数绘制s的图形。
4、由下式产生黄金分割数:
使用fprintf和disp产生前16个数值,并在MATLAB命令窗口中显示如下内容:
F0=0
F1=1
F2=1
F3=2
…….
F15=610
5、find函数的实现
给定由正数和负数构成的任意长度向量g,用程序实现下式:
Indx=find(ga)
这里a是由用户指定的一个值。本例中a=4,向量。
6、用极坐标画半径为2的圆
答案如下:
第一题
function [thetax,thetay,thetaz]= zcj01(v1,v2,E1,E2,d1,d2,F,z)
%函数功能:计算xyz方向应力
%输入参数:v1,v2,E1,E2,d1,d2,F,z
%输出参数:thetax,thetay,thetaz
v1=0.3;v2=0.3;
E1=3*10^7;E2=3*10^7;
d1=1.5;d2=2.7;
F=37300;
z=0.254;
a=((3*F/8)*(((1-v1^2)/E1)+((1-v2^2)/E2))/(1/d1+1/d2))^(1/3);
pmax=3*F/(2*pi*(a^2));
thetax=-pmax*((1-(z/a)*atan(a/z))*(1-v1)-0.5*(1+z^2/(a^2))^(-1));
thetay=-pmax*((1-(z/a)*atan(a/z))*(1-v1)-0.5*(1+z^2/(a^2))^(-1));
thetaz=-pmax/(1+z^2/(a^2));
end
第二题
x=[17,-3,-47,5,0,29,-37,51,-7,19]
indexzero=find(x==0);% x是一个行向量
zero=x(indexzero);
indexzheng=find(x0);
zheng=x(indexzheng);
zhengp=-sort(-zheng);%降序排列
indexfu=find(x0);
fu=x(indexfu);
fup=-sort(-fu);%降序排列
y=[zero,fup,zhengp]
第三题
function s=zcj03(a,b,e)
%函数意义:曲柄滑块机构位移函数式
%输入参数:a,,b,e
%输出参数:s
a=0.5;b=1;e=0.2;%该语句函数值可以在使用时,自己赋值
theta=-pi:0.1:pi;
s=a.*cos(theta)+(b^2-(a.*sin(theta)-e).^2).^(1/2);
plot(theta,s);
end
第四题
n=0:1:15;
F= [n; (1/5^(1/2))*(((1+5^(1/2))/2).^n-((1-5^(1/2))/2).^n)];
fid = fopen(exp.txt,w);
fprintf(fid,%2d F=%3.0f\n,F);
fclose(fid);
type exp.txt
第五题
a=4;
g=[4 4 7 10 -6 42 1 0];
%输入函数g为一个行向量
indx=find(ga)
第六题
t = 0:.01:2*pi;
polar(t,2*ones(size(t)));
title(极坐标画圆)
2
显示全部