hyb965149985

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

matlab可用于各行各业的应用中,现在我们就简单画一个拱桥试一试。

                                                  

r=input('请输入半径: ');
z=input('请输入弧度: ');
figure()
%r=4;
%画拱洞,用李萨如图形法
x=15;
y=0;
nseg=1000;
theta = 0 : (2 * pi / nseg) : (2 * pi);
pline_x = r * cos(theta) + x;
pline_y = r * sin(theta) + y;
plot(pline_x, pline_y);
axis([0 30 -8 8]);  %限定坐标范围
hold on;
%画水面
x1=0:0.1:30;
y1=zeros(size(x1));
plot(x1,y1)
hold on;
%画测量数据
xg=0:2:30;
yg=[4,4.2,4.6,4.8,5,5.3,6.4,6.9,6.7,6.1,5.6,5.1,4.7,4.4,4,3.6];
plot(xg,yg,'o')
hold on
%画拱桥
xxg=-100:0.1:100;
p=polyfit(xg,yg,2); % 拟合出的二次函数的系数
yyg=polyval(p,xxg); % 拟合曲线的纵坐标
xxg=xxg(yyg>=0);
yyg=yyg(yyg>=0);
%画倒影
plot(xxg,yyg)
hold on
plot(xxg,-yyg)
hold on
fill(xxg,-yyg,'b')
fill(pline_x, pline_y,'w')
%计算面积
xxg2=0:0.1:30;
yyg2=yyg(find(xxg==0):find(xxg==30));
%polyarea(xxg2,yyg) 
Aera=trapz(xxg2,yyg2)-pi/2*r^2;

disp(['面试是: ',num2str(Aera)])
%进行安全度分析
if(z>0.1)
    disp('经过安全性分析,该拱桥在应用中可能存在安全隐患。')
else
    disp('经过安全性分析,该拱桥的安全性良好,可以使用。')
end

  那么最后的结果是

 

posted on 2019-01-07 19:57  hyb965149985  阅读(798)  评论(0编辑  收藏  举报