matlab-画个拱桥和倒影?
生活随笔
收集整理的這篇文章主要介紹了
matlab-画个拱桥和倒影?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
matlab-畫個拱橋和倒影?
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('經過安全性分析,該拱橋在應用中可能存在安全隱患。') elsedisp('經過安全性分析,該拱橋的安全性良好,可以使用。') end那么最后的結果是
?
posted on 2019-01-07 19:57 hyb965149985 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/hyb965149985/p/10204768.html
總結
以上是生活随笔為你收集整理的matlab-画个拱桥和倒影?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特斯拉上海超级工厂开工 预计今夏完成初期
- 下一篇: select函数测试