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 onplot(xxg,-yyg)hold onfill(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 阅读( ...) 评论( ...)