日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三村合建水厂问题研究 (代码)

發(fā)布時(shí)間:2023/12/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三村合建水厂问题研究 (代码) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問題描述:

A村、B村和C村都在河流(Y軸)的東面,A村在y=3.5 km的路旁,B村在y=2.5 km的路旁,C村在y=0.5 km的路旁,他們要在河邊合建一間水廠。請(qǐng)?jiān)O(shè)計(jì)使水管總長(zhǎng)最短的方案。


設(shè)計(jì)要求:

(1)使用matlab-GUI軟件編程實(shí)現(xiàn);

(2)只在第一象限[0,4]×[0,4]范圍研究該問題;

(3)界面要有問題描述;

(4)輸入給定點(diǎn)A, B, C的坐標(biāo);

(5)輸出水廠和費(fèi)爾馬點(diǎn)的坐標(biāo),水管總長(zhǎng)和水管的布局圖。


下面貼出博主子豐的matlab程序:包括了程序的運(yùn)行界面、程序界面和代碼。

Matlab程序下載:點(diǎn)擊打開鏈接

http://download.csdn.net/detail/softimite_zifeng/9679181


運(yùn)行界面:



程序界面:



Matlab程序下載:點(diǎn)擊打開鏈接

http://download.csdn.net/detail/softimite_zifeng/9679181


代碼:

%三村合建水廠問題 function varargout = Water(varargin) % WATER MATLAB code for Water.figgui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @Water_OpeningFcn, ...'gui_OutputFcn', @Water_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []); if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1}); endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:}); endfunction Water_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);%初始化坐標(biāo)軸 line([0,4],[0.5,0.5],'linewidth',2,'color','b'); line([0,4],[2.5,2.5],'linewidth',2,'color','b'); line([0,4],[3.5,3.5],'linewidth',2,'color','b'); line([0,4],[1,1],'color','k'); line([0,4],[2,2],'color','k'); line([0,4],[3,3],'color','k'); line([0,4],[4,4],'color','k'); hold on; plot(5.7,3.4,'k.','markersize',20); plot(5.7,3.1,'r.','markersize',20); plot(5.7,2.8,'o','markersize',5,'linewidth',2);global xA; %村莊A的橫坐標(biāo) xA=0; global xB; %村莊B的橫坐標(biāo) xB=0; global xC; %村莊C的橫坐標(biāo) xC=0;global start; %坐標(biāo)軸中是否有村莊 start=0;global bd; %鼠標(biāo)是否選中村莊 global bu; %鼠標(biāo)是否釋放 global bx; %選中的村莊號(hào) bd=0;bu=0;bx=1;function varargout = Water_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;%隨機(jī)三個(gè)點(diǎn) function pushbutton2_Callback(hObject, eventdata, handles)global start; %坐標(biāo)軸中是否有村莊 start=1;global xA; %村莊A的橫坐標(biāo) global xB; %村莊B的橫坐標(biāo) global xC; %村莊C的橫坐標(biāo)cla;%初始化坐標(biāo)軸 line([0,4],[0.5,0.5],'linewidth',2,'color','b'); line([0,4],[2.5,2.5],'linewidth',2,'color','b'); line([0,4],[3.5,3.5],'linewidth',2,'color','b'); line([0,4],[1,1],'color','k'); line([0,4],[2,2],'color','k'); line([0,4],[3,3],'color','k'); line([0,4],[4,4],'color','k'); hold on; plot(5.7,3.4,'k.','markersize',20); plot(5.7,3.1,'r.','markersize',20); plot(5.7,2.8,'o','markersize',5,'linewidth',2);%初始化數(shù)據(jù) set(handles.xA,'String',0); set(handles.xB,'String',0); set(handles.xC,'String',0); set(handles.yM,'String',0); set(handles.ts,'String',0); set(handles.xF1,'Visible','off'); set(handles.yF1,'Visible','off'); set(handles.xF2,'Visible','off'); set(handles.yF2,'Visible','off'); set(handles.xF1,'String',0); set(handles.yF1,'String',0); set(handles.xF2,'String',0); set(handles.yF2,'String',0);%隨機(jī)生成三個(gè)點(diǎn) xA=round((4*rand)*1000)/1000; xB=round((4*rand)*1000)/1000; xC=round((4*rand)*1000)/1000; plot(xA,3.5,'k.','markersize',25); plot(xB,2.5,'k.','markersize',25); plot(xC,0.5,'k.','markersize',25);%計(jì)算水廠位置,S點(diǎn)坐標(biāo)等 [ts,yM,F,t,s]=Short(xA,3.5,xB,2.5,xC,0.5);%在坐標(biāo)軸中繪圖 plottu(ts,yM,F,t,s,handles,xA,3.5,xB,2.5,xC,0.5);%清空坐標(biāo)軸 function pushbutton3_Callback(hObject, eventdata, handles)global start; %坐標(biāo)軸中是否有村莊 start=0;cla;%初始化坐標(biāo)軸 line([0,4],[0.5,0.5],'linewidth',2,'color','b'); line([0,4],[2.5,2.5],'linewidth',2,'color','b'); line([0,4],[3.5,3.5],'linewidth',2,'color','b'); line([0,4],[1,1],'color','k'); line([0,4],[2,2],'color','k'); line([0,4],[3,3],'color','k'); line([0,4],[4,4],'color','k'); hold on; plot(5.7,3.4,'k.','markersize',20); plot(5.7,3.1,'r.','markersize',20); plot(5.7,2.8,'o','markersize',5,'linewidth',2);%初始化數(shù)據(jù) set(handles.xA,'String',0); set(handles.xB,'String',0); set(handles.xC,'String',0); set(handles.yM,'String',0); set(handles.ts,'String',0); set(handles.xF1,'Visible','off'); set(handles.yF1,'Visible','off'); set(handles.xF2,'Visible','off'); set(handles.yF2,'Visible','off'); set(handles.xF1,'String',0); set(handles.yF1,'String',0); set(handles.xF2,'String',0); set(handles.yF2,'String',0);%退出程序 function pushbutton4_Callback(hObject, eventdata, handles)close;%打開問題描述 function togglebutton1_Callback(hObject, eventdata, handles)val=get(handles.togglebutton1,'Value');switch valcase 1set(handles.togglebutton1,'String','問題描述關(guān)');set(handles.text10,'Visible','on');case 0set(handles.togglebutton1,'String','問題描述開')set(handles.text10,'Visible','off'); end%村莊A橫坐標(biāo)編輯框 function xA_Callback(hObject, eventdata, handles)function xA_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%村莊A縱坐標(biāo)編輯框 function edit2_Callback(hObject, eventdata, handles)function edit2_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%村莊B橫坐標(biāo)編輯框 function xB_Callback(hObject, eventdata, handles)function xB_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%村莊B縱坐標(biāo)編輯框 function edit4_Callback(hObject, eventdata, handles)function edit4_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%村莊C橫坐標(biāo)編輯框 function xC_Callback(hObject, eventdata, handles)function xC_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%村莊C縱坐標(biāo)編輯框 function edit6_Callback(hObject, eventdata, handles)function edit6_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%S點(diǎn)橫坐標(biāo)編輯框 function xF1_Callback(hObject, eventdata, handles)function xF1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%S點(diǎn)縱坐標(biāo)編輯框 function yF1_Callback(hObject, eventdata, handles)function yF1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%S點(diǎn)橫坐標(biāo)編輯框 function xF2_Callback(hObject, eventdata, handles)function xF2_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%S點(diǎn)縱坐標(biāo)編輯框 function yF2_Callback(hObject, eventdata, handles)function yF2_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%水廠縱坐標(biāo)編輯框 function yM_Callback(hObject, eventdata, handles)function yM_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%總長(zhǎng)編輯框 function ts_Callback(hObject, eventdata, handles)function ts_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white'); end%計(jì)算水廠位置,S點(diǎn)坐標(biāo)等 function [ts,yM,F,t,s] = Short( xA,yA,xB,yB,xC,yC ) %ts最短長(zhǎng)度,yM水廠位置,F為S點(diǎn)矩陣,t為S點(diǎn)個(gè)數(shù),s表示屬于哪種情形ts=0;yM=0;t=0;s=11; F=[0,0;0,0];%情形1 [xF1,yF1,s1]=qiuF(xA,yA,xB,yB,xC,yC); %求三角形ABC的F點(diǎn)ts1=abs(xA)+sqrt((yF1-yC)^2+(xF1-xC)^2)+sqrt((yF1-yA)^2+(xF1-xA)^2)+sqrt((yF1-yB)^2+(xF1-xB)^2); ts2=abs(xB)+sqrt((yF1-yC)^2+(xF1-xC)^2)+sqrt((yF1-yA)^2+(xF1-xA)^2)+sqrt((yF1-yB)^2+(xF1-xB)^2); ts3=abs(xC)+sqrt((yF1-yC)^2+(xF1-xC)^2)+sqrt((yF1-yA)^2+(xF1-xA)^2)+sqrt((yF1-yB)^2+(xF1-xB)^2); if ts1<=ts2&&ts1<=ts3ts=ts1;yM=yA;s=11; elseif ts2<=ts1&&ts2<=ts3ts=ts2;yM=yB;s=12; elsets=ts3;yM=yC;s=13; end F(1,1)=xF1;F(1,2)=yF1; if s1==1 %是否需要添加S點(diǎn)t=1; end%情形2 [xD,yD]=tria(xB,yB,xC,yC,xA,yA); %求等邊三角BCD的D點(diǎn)坐標(biāo) xF1=((yD+xD*sqrt(3))-(yA-xA*sqrt(3)))/(2*sqrt(3)); %S點(diǎn)坐標(biāo) yF1=xF1*sqrt(3)+(yA-xA*sqrt(3)); xM1=0;yM1=yF1; y0=yA-xA*sqrt(3); if y0<0y0=0; end if yM1>=y0&&yM1<3.5 %水廠位置是否為有效位置[xF2,yF2,s1]=qiuF(xF1,yF1,xB,yB,xC,yC); %求三角形F1BC的F點(diǎn)ts1=sqrt((yF1-yM1)^2+(xF1-xM1)^2)+sqrt((yF1-yA)^2+(xF1-xA)^2)+sqrt((yF2-yF1)^2+(xF2-xF1)^2)+sqrt((yF2-yC)^2+(xF2-xC)^2)+sqrt((yF2-yB)^2+(xF2-xB)^2);if ts1<ts %此情形的總長(zhǎng)是否比之前的短yM=yM1;ts=ts1;s=2;F=[0,0;0,0];F(1,1)=xF1;F(1,2)=yF1;t=1;F(2,1)=xF2;F(2,2)=yF2;if s1==1t=2;endend end%情形3 [xD,yD]=tria(xB,yB,xA,yA,xC,yC); %求等邊三角形ABD的D點(diǎn)坐標(biāo) xF1=((yC+xC*sqrt(3))-(yD-xD*sqrt(3)))/(2*sqrt(3)); yF1=xF1*sqrt(3)+(yD-xD*sqrt(3)); xM1=0;yM1=yF1; y0=yC+xC*sqrt(3); if y0>3.5y0=3.5; end if yM1>0&&yM1<=y0[xF2,yF2,s1]=qiuF(xF1,yF1,xB,yB,xA,yA); %求三角形F1AB的F點(diǎn)ts1=sqrt((yF1-yM1)^2+(xF1-xM1)^2)+sqrt((yF1-yC)^2+(xF1-xC)^2)+sqrt((yF2-yF1)^2+(xF2-xF1)^2)+sqrt((yF2-yA)^2+(xF2-xA)^2)+sqrt((yF2-yB)^2+(xF2-xB)^2);if ts1<ts %此情形的總長(zhǎng)是否比之前的短yM=yM1;ts=ts1;s=3;F=[0,0;0,0];F(1,1)=xF1;F(1,2)=yF1;t=1;F(2,1)=xF2;F(2,2)=yF2;if s1==1t=2;endend end%情形4 [xD,yD]=tria(xC,yC,xA,yA,xB,yB); %求等邊三角形ACD的D點(diǎn)坐標(biāo) xF1=((yD+xD*sqrt(3))-(yB-xB*sqrt(3)))/(2*sqrt(3)); yF1=xF1*sqrt(3)+(yB-xB*sqrt(3)); xM1=0;yM1=yF1; y0=yB-xB*sqrt(3); if y0<0y0=0; end if yM1>=y0&&yM1<2.5[xF2,yF2,s1]=qiuF(xF1,yF1,xC,yC,xA,yA); %求三角形F1AC的F點(diǎn)ts1=sqrt((yF1-yM1)^2+(xF1-xM1)^2)+sqrt((yF1-yB)^2+(xF1-xB)^2)+sqrt((yF2-yF1)^2+(xF2-xF1)^2)+sqrt((yF2-yA)^2+(xF2-xA)^2)+sqrt((yF2-yC)^2+(xF2-xC)^2);if ts1<ts %此情形的總長(zhǎng)是否比之前的短yM=yM1;ts=ts1;s=4;F=[0,0;0,0];F(1,1)=xF1;F(1,2)=yF1;t=1;F(2,1)=xF2;F(2,2)=yF2;if s1==1t=2;endend end%情形5 [xD,yD]=tria(xC,yC,xA,yA,xB,yB); %求等邊三角形ACD的D點(diǎn)坐標(biāo) xF1=((yB+xB*sqrt(3))-(yD-xD*sqrt(3)))/(2*sqrt(3)); yF1=xF1*sqrt(3)+(yD-xD*sqrt(3)); xM1=0;yM1=yF1; y0=yB+xB*sqrt(3); if y0>3.5y0=3.5; end if yM1>2.5&&yM1<=y0[xF2,yF2,s1]=qiuF(xF1,yF1,xC,yC,xA,yA); %求三角形F1AC的F點(diǎn)ts1=sqrt((yF1-yM1)^2+(xF1-xM1)^2)+sqrt((yF1-yB)^2+(xF1-xB)^2)+sqrt((yF2-yF1)^2+(xF2-xF1)^2)+sqrt((yF2-yA)^2+(xF2-xA)^2)+sqrt((yF2-yC)^2+(xF2-xC)^2);if ts1<ts %此情形的總長(zhǎng)是否比之前的短yM=yM1;ts=ts1;s=5;F=[0,0;0,0];F(1,1)=xF1;F(1,2)=yF1;t=1;F(2,1)=xF2;F(2,2)=yF2;if s1==1t=2;endend end%情形6 [xD,yD]=tria(xB,yB,xA,yA,0,0); %求等邊三角形ABD的D點(diǎn)坐標(biāo) xM1=0;yM1=yD; if yM1>=2.5&&yM1<=3.5[xF1,yF1,s1]=qiuF(xM1,yM1,xB,yB,xA,yA); %求三角形M1AB的F點(diǎn)ts1=sqrt((yF1-yM1)^2+(xF1-xM1)^2)+sqrt((yF1-yB)^2+(xF1-xB)^2)+sqrt((yA-yF1)^2+(xA-xF1)^2)+sqrt((yB-yC)^2+(xB-xC)^2);if ts1<ts %此情形的總長(zhǎng)是否比之前的短yM=yM1;ts=ts1;s=6;F=[0,0;0,0];t=0;F(1,1)=xF1;F(1,2)=yF1;if s1==1t=1;endend end%情形7 [xD,yD]=tria(xB,yB,xC,yC,0,0); %求等邊三角形BCD的D點(diǎn)坐標(biāo) xM1=0;yM1=yD; if yM1>=0.5&&yM1<=2.5[xF1,yF1,s1]=qiuF(xM1,yM1,xB,yB,xC,yC); %求三角形M1BC的F點(diǎn)ts1=sqrt((yF1-yM1)^2+(xF1-xM1)^2)+sqrt((yF1-yB)^2+(xF1-xB)^2)+sqrt((yC-yF1)^2+(xC-xF1)^2)+sqrt((yB-yA)^2+(xB-xA)^2);if ts1<ts %此情形的總長(zhǎng)是否比之前的短yM=yM1;ts=ts1;s=7;F=[0,0;0,0];t=0;F(1,1)=xF1;F(1,2)=yF1;if s1==1t=1;endend end%求三角形的F點(diǎn) function [xF,yF,s1] = qiuF(x1,y1,x2,y2,x3,y3) %s1表示F點(diǎn)是否在三角形內(nèi)部s1=0; %三角形兩邊的夾角大于等于120 if ((x2-x1)*(x3-x1)+(y2-y1)*(y3-y1))/(sqrt((x2-x1)^2+(y2-y1)^2)*sqrt((x3-x1)^2+(y3-y1)^2))<=-1/2xF=x1;yF=y1; elseif ((x1-x2)*(x3-x2)+(y1-y2)*(y3-y2))/(sqrt((x1-x2)^2+(y1-y2)^2)*sqrt((x3-x2)^2+(y3-y2)^2))<=-1/2xF=x2;yF=y2; elseif ((x1-x3)*(x2-x3)+(y1-y3)*(y2-y3))/(sqrt((x1-x3)^2+(y1-y3)^2)*sqrt((x2-x3)^2+(y2-y3)^2))<=-1/2xF=x3;yF=y3; elses1=1;[x4,y4]=tria(x1,y1,x2,y2,x3,y3);[x5,y5]=tria(x1,y1,x3,y3,x2,y2);k34=(y3-y4)/(x3-x4);k25=(y2-y5)/(x2-x5);xF=((k25*x2-y2)-(k34*x3-y3))/(k25-k34);yF=y2+k25*(xF-x2); end%求等邊三角形ABD的D點(diǎn)坐標(biāo) function [xD,yD] = tria(xA,yA,xB,yB,xC,yC) %點(diǎn)D和點(diǎn)C分別在直線AB的兩側(cè)xD=(xA+xB)/2-(yA-yB)*sqrt(3)/2; yD=(yA+yB)/2+(xA-xB)*sqrt(3)/2; %判斷點(diǎn)D和點(diǎn)C是否在直線AB的兩側(cè) if xA~=xBk=(yB-yA)/(xB-xA);b=yA-k*xA;if (k*xD-yD+b)*(k*xC-yC+b)>0xD=(xA+xB)/2+(yA-yB)*sqrt(3)/2;yD=(yA+yB)/2-(xA-xB)*sqrt(3)/2;end elseif (xD-xA)*(xC-xA)>0xD=(xA+xB)/2+(yA-yB)*sqrt(3)/2;yD=(yA+yB)/2-(xA-xB)*sqrt(3)/2;end end%在坐標(biāo)軸中繪圖 function f = plottu(ts,yM,F,t,s,handles,xA,yA,xB,yB,xC,yC)%顯示村莊A,B,C的橫坐標(biāo) set(handles.xA,'String',round(xA*1000)/1000); %取小數(shù)點(diǎn)后三位 set(handles.xB,'String',round(xB*1000)/1000); set(handles.xC,'String',round(xC*1000)/1000);%顯示水廠的縱坐標(biāo)以及總長(zhǎng) set(handles.yM,'String',round(yM*1000)/1000); set(handles.ts,'String',round(ts*1000)/1000);%顯示S點(diǎn)的橫坐標(biāo)和縱坐標(biāo) if t==1 %S點(diǎn)個(gè)數(shù)set(handles.xF1,'Visible','on');set(handles.yF1,'Visible','on');set(handles.xF1,'String',round(F(1,1)*1000)/1000);set(handles.yF1,'String',round(F(1,2)*1000)/1000); elseif t==2set(handles.xF1,'Visible','on');set(handles.yF1,'Visible','on');set(handles.xF2,'Visible','on');set(handles.yF2,'Visible','on');set(handles.xF1,'String',round(F(1,1)*1000)/1000);set(handles.yF1,'String',round(F(1,2)*1000)/1000);set(handles.xF2,'String',round(F(2,1)*1000)/1000);set(handles.yF2,'String',round(F(2,2)*1000)/1000); endhold on; %水管的鋪設(shè)路線 plot(0,yM,'r.','markersize',30); if s==11 %情形1line([0,xA],[yM,yA],'linewidth',2.5,'color','k');if t==1plot(F(1,1),F(1,2),'o','markersize',9,'linewidth',3);endline([xA,F(1,1)],[yA,F(1,2)],'linewidth',2.5,'color','k');line([xB,F(1,1)],[yB,F(1,2)],'linewidth',2.5,'color','k');line([xC,F(1,1)],[yC,F(1,2)],'linewidth',2.5,'color','k'); elseif s==12 %情形1line([0,xB],[yM,yB],'linewidth',2.5,'color','k');if t==1plot(F(1,1),F(1,2),'o','markersize',9,'linewidth',3);endline([xA,F(1,1)],[yA,F(1,2)],'linewidth',2.5,'color','k');line([xB,F(1,1)],[yB,F(1,2)],'linewidth',2.5,'color','k');line([xC,F(1,1)],[yC,F(1,2)],'linewidth',2.5,'color','k'); elseif s==13 %情形1line([0,xC],[yM,yC],'linewidth',2.5,'color','k');if t==1plot(F(1,1),F(1,2),'o','markersize',9,'linewidth',3);endline([xA,F(1,1)],[yA,F(1,2)],'linewidth',2.5,'color','k');line([xB,F(1,1)],[yB,F(1,2)],'linewidth',2.5,'color','k');line([xC,F(1,1)],[yC,F(1,2)],'linewidth',2.5,'color','k'); elseif s==2 %情形2plot(F(1,1),F(1,2),'o','markersize',9,'linewidth',3);line([0,F(1,1)],[yM,F(1,2)],'linewidth',2.5,'color','k');line([xA,F(1,1)],[yA,F(1,2)],'linewidth',2.5,'color','k');if t==2plot(F(2,1),F(2,2),'o','markersize',9,'linewidth',3);endline([F(2,1),F(1,1)],[F(2,2),F(1,2)],'linewidth',2.5,'color','k');line([F(2,1),xB],[F(2,2),yB],'linewidth',2.5,'color','k');line([F(2,1),xC],[F(2,2),yC],'linewidth',2.5,'color','k'); elseif s==3 %情形3plot(F(1,1),F(1,2),'o','markersize',9,'linewidth',3);line([0,F(1,1)],[yM,F(1,2)],'linewidth',2.5,'color','k');line([xC,F(1,1)],[yC,F(1,2)],'linewidth',2.5,'color','k');if t==2plot(F(2,1),F(2,2),'o','markersize',9,'linewidth',3);endline([F(2,1),F(1,1)],[F(2,2),F(1,2)],'linewidth',2.5,'color','k');line([F(2,1),xB],[F(2,2),yB],'linewidth',2.5,'color','k');line([F(2,1),xA],[F(2,2),yA],'linewidth',2.5,'color','k'); elseif s==4||s==5 %情形4或情形5plot(F(1,1),F(1,2),'o','markersize',9,'linewidth',3);line([0,F(1,1)],[yM,F(1,2)],'linewidth',2.5,'color','k');line([xB,F(1,1)],[yB,F(1,2)],'linewidth',2.5,'color','k');if t==2plot(F(2,1),F(2,2),'o','markersize',9,'linewidth',3);endline([F(2,1),F(1,1)],[F(2,2),F(1,2)],'linewidth',2.5,'color','k');line([F(2,1),xC],[F(2,2),yC],'linewidth',2.5,'color','k');line([F(2,1),xA],[F(2,2),yA],'linewidth',2.5,'color','k'); elseif s==6 %情形6if t==1plot(F(1,1),F(1,2),'o','markersize',9,'linewidth',3);endline([0,F(1,1)],[yM,F(1,2)],'linewidth',2.5,'color','k');line([xA,F(1,1)],[yA,F(1,2)],'linewidth',2.5,'color','k');line([xB,F(1,1)],[yB,F(1,2)],'linewidth',2.5,'color','k');line([xB,xC],[yB,yC],'linewidth',2.5,'color','k'); elseif s==7 %情形7if t==1plot(F(1,1),F(1,2),'o','markersize',9,'linewidth',3);endline([0,F(1,1)],[yM,F(1,2)],'linewidth',2.5,'color','k');line([xC,F(1,1)],[yC,F(1,2)],'linewidth',2.5,'color','k');line([xB,F(1,1)],[yB,F(1,2)],'linewidth',2.5,'color','k');line([xB,xA],[yB,yA],'linewidth',2.5,'color','k'); endfunction figure1_WindowButtonDownFcn(hObject, eventdata, handles) %鼠標(biāo)選擇村莊global start; %坐標(biāo)軸中是否有村莊global bd; %鼠標(biāo)是否選中村莊 global bu; %鼠標(biāo)是否釋放 global bx; %選中的村莊號(hào)global xA; %村莊A的橫坐標(biāo) global xB; %村莊B的橫坐標(biāo) global xC; %村莊C的橫坐標(biāo)if start==1 %坐標(biāo)軸中是否有村莊bd=0;bu=0;bx=1;pt=get(gca,'CurrentPoint'); %獲取鼠標(biāo)單擊位置的坐標(biāo)x=pt(1,1);y=pt(1,2);%鼠標(biāo)是否選中村莊if x>=xA-0.05&&x<=xA+0.05&&y>=3.5-0.05&&y<=3.5+0.05%選中村莊Abd=1;bx=1;elseif x>=xB-0.05&&x<=xB+0.05&&y>=2.5-0.05&&y<=2.5+0.05%選中村莊Bbd=1;bx=2;elseif x>=xC-0.05&&x<=xC+0.05&&y>=0.5-0.05&&y<=0.5+0.05%選中村莊Cbd=1;bx=3;end endfunction figure1_WindowButtonMotionFcn(hObject, eventdata, handles) %鼠標(biāo)拖動(dòng)村莊global start; %坐標(biāo)軸中是否有村莊global bd; %鼠標(biāo)是否選中村莊 global bu; %鼠標(biāo)是否釋放 global bx; %選中的村莊號(hào)global xA; %村莊A的橫坐標(biāo) global xB; %村莊B的橫坐標(biāo) global xC; %村莊C的橫坐標(biāo)if start==1 %坐標(biāo)軸中是否有村莊if bd==1&&bu==0pt=get(gca,'CurrentPoint');x=pt(1,1);%鼠標(biāo)位置超出范圍if x<0x=0;elseif x>4x=4;endcla;%初始化坐標(biāo)軸line([0,4],[0.5,0.5],'linewidth',2,'color','b');line([0,4],[2.5,2.5],'linewidth',2,'color','b');line([0,4],[3.5,3.5],'linewidth',2,'color','b');line([0,4],[1,1],'color','k');line([0,4],[2,2],'color','k');line([0,4],[3,3],'color','k');line([0,4],[4,4],'color','k');hold on;plot(5.7,3.4,'k.','markersize',20);plot(5.7,3.1,'r.','markersize',20);plot(5.7,2.8,'o','markersize',5,'linewidth',2);%初始化數(shù)據(jù)set(handles.xA,'String',0);set(handles.xB,'String',0);set(handles.xC,'String',0);set(handles.yM,'String',0);set(handles.ts,'String',0);set(handles.xF1,'Visible','off');set(handles.yF1,'Visible','off');set(handles.xF2,'Visible','off');set(handles.yF2,'Visible','off');set(handles.xF1,'String',0);set(handles.yF1,'String',0);set(handles.xF2,'String',0);set(handles.yF2,'String',0);if bx==1 %選中村莊AxA=x;elseif bx==2 %選中村莊BxB=x;elseif bx==3 %選中村莊CxC=x;end%更新村莊A,B,C位置plot(xA,3.5,'k.','markersize',25);plot(xB,2.5,'k.','markersize',25);plot(xC,0.5,'k.','markersize',25);%計(jì)算水廠位置,S點(diǎn)坐標(biāo)等[ts,yM,F,t,s]=Short(xA,3.5,xB,2.5,xC,0.5);%在坐標(biāo)軸中繪圖plottu(ts,yM,F,t,s,handles,xA,3.5,xB,2.5,xC,0.5);end endfunction figure1_WindowButtonUpFcn(hObject, eventdata, handles) %釋放鼠標(biāo)global start; %坐標(biāo)軸中是否有村莊global bu; %鼠標(biāo)是否釋放if start==1bu=1; end

總結(jié)

以上是生活随笔為你收集整理的三村合建水厂问题研究 (代码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美永久视频 | 国产不卡一| 亚洲欧美一区二区三区久久 | 国产三级全黄 | 爱乃なみ加勒比在线播放 | 手机看片中文字幕 | 精品啪啪 | 国产中文久久 | 好男人在线观看 | 亚洲精品aaaaa | 国产女人高潮毛片 | 日韩一二区 | 成人天堂 | 日本少妇高潮抽搐 | a天堂av| 91麻豆国产精品 | 成人在线直播 | 鲁大师私人影院在线观看 | 亚洲の无码国产の无码步美 | 在线观看网站污 | 精品午夜一区二区三区 | 欧美黄色a| 樱花草涩涩www在线播放 | 天堂中文网在线 | 久久黄色片视频 | 日韩性生活大片 | 免费插插视频 | 99热一区二区 | 亚洲精品国产精品国自产观看 | 日韩亚洲欧美在线 | 女同av在线播放 | 变态另类一区二区 | 国产精品免费视频一区二区三区 | 免费av一级| 激情久久久久 | freesex性hd公交车上 | 久久视频在线观看免费 | 人妻系列一区 | 色站在线 | 日本不卡高字幕在线2019 | 天堂在线观看中文字幕 | 色综合久久88色综合天天6 | 亚洲AV成人无码电影在线观看 | 国产精品第一区 | 99精品国产一区 | 亚洲iv一区二区三区 | 超碰在线9| 亚洲情人网 | 日本午夜视频在线观看 | 成人午夜视频在线免费观看 | 黄色片不卡 | 精品中文字幕av | 97超碰精品| 国产ts人妖调教重口男 | 色播在线 | 免费亚洲网站 | 久久久久久国产精品免费免费 | 亚洲人成人 | 欧美国产第一页 | 免费一级大片 | 久久久ww| 西方av在线 | 欧美在线播放 | 国产成人麻豆免费观看 | 天天在线免费视频 | 欧美成人午夜剧场 | av加勒比在线 | 黑人乱码一区二区三区av | 99久久精品免费看国产四区 | 九九热精品在线视频 | 激情在线网站 | 精品人妻二区中文字幕 | 女人一区二区三区 | 337p粉嫩日本欧洲亚洲大胆 | 熟妇人妻无码xxx视频 | 久久免费播放 | 黄色小视屏 | 国产一区啪啪 | 亚洲欧美综合 | 色婷婷久久五月综合成人 | 国产精品永久免费观看 | 老男人av| 91成人入口 | 俺去操 | 久久国产精品-国产精品 | 成人深夜在线观看 | 九九国产精品视频 | youjizz麻豆| 国产又粗又黄视频 | 欧美三级午夜理伦 | 国产伦一区二区三区 | 国产精品国产三级国产aⅴ中文 | 激情欧美一区二区三区 | 大又大粗又爽又黄少妇毛片 | 黑人与日本少妇高潮 | 国产成人精品无码高潮 | 人人草在线观看 | 中日韩av电影 | 国产特级av |