beta=0.3723+23.2567*sin(theta)+0.1149*sin(2*theta)-0.1712*sin(3*theta)-... 0.758*cos(theta)+0.3635*cos(2*theta)+0.0201*cos(3*theta);
function [theta,rough]=ji(x,y) theta=atan(y./x); a=length(x);
rough=zeros(a,1); for i=1:a
rough(i)=(x(i)^1/2+y(i)^1/2)^1/2; end
rough=rough;
第二问:
clc,clear;
global jingdu1 weidu1 beta=chiwei(2015,295); jingdu=[]; load Qa.mat x=Qa(:,2); y=Qa(:,3); weidu=[]; for i=0:5:160 jingdu(i/5+1)=i; end
for j=-80:5:80 weidu(j/5+19)=j; end
% l=xianxin(110,x,y); % h=tand(90-(beta+20))*l for i=1:33
l=xianxin(jingdu(i),x,y); for j=1:33
h(i,j)=tand(90-(beta+weidu(j)))*l; yizhi(jingdu(i),weidu(j),h(i,j)); end end
clc,clear; load Qa.mat x=Qa(:,2); y=Qa(:,3);
[theta0,rough0]=ji(x,y);
全国大学生数学建模竞赛一等奖论文
load jingdu1.mat load weidu1.mat g=length(jingdu1); e=length(x);
[theta,rough]=chaa(jingdu1,weidu1); theta1=theta; rough1=rough; for i=1:g
theta(i,:)=(theta(i,:)-min(theta(i,:)))/(max(theta(i,:))-min(theta(i,:)));
rough(i,:)=(rough(i,:)-min(rough(i,:)))/(max(rough(i,:))-min(rough(i,:))); end
for i=1:e
theta0(i)=(theta0(i)-min(theta0))/(max(theta0)-min(theta0)); rough0(i)=(rough0(i)-min(rough0))/(max(rough0)-min(rough0)); end
f=zeros(1,g); for i=1:g for j=1:e
f(i)=f(i)+((theta(i,j)-theta0(j))^2+(rough(i,j)-rough0(j))^2)^(1/2); end end f=f/21;
weidu=weidu1(find(f/21==min(f/21))); jingdu=jingdu1(find(f/21==min(f/21)));
clc,clear; for i=1:5
weidu(i)=15+(i-1)*1; jingdu(i)=105+(i-1)*1; end
for i=1:5
f(i)=ff(jingdu(i),weidu); end
i=find(f==min(f)); jingdu1=105+(i-1); j=ff1(jingdu1,weidu); weidu1=15+j-1;
function f=fun(x,y) f=0;
load A.mat
全国大学生数学建模竞赛一等奖论文
load B.mat load C.mat load D.mat load E.mat load F.mat C=0;D=0; for i=1:21
f=f+(A*x(i)^2*cos(y(i))^2+B*x(i)^2*sin(y(i))^2+... C*x(i)^2*sin(y(i))*cos(y(i))+D*x(i)*cos(y(i))+... E*x(i)*sin(y(i))+F)^2; end f=f/21; y=Qa(:,3);
[theta0,rough0]=ji(x,y); % load jingdu1.mat % load weidu1.mat g=length(weidu); e=length(x); for i=1:e
theta0(i)=(theta0(i)-min(theta0))/(max(theta0)-min(theta0)); rough0(i)=(rough0(i)-min(rough0))/(max(rough0)-min(rough0)); end
[theta,rough]=ch(jingdu,weidu); for j=1:g
theta(j,:)=(theta(j,:)-min(theta(j,:)))/(max(theta(j,:))-min(theta(j,:)));
rough(j,:)=(rough(j,:)-min(rough(j,:)))/(max(rough(j,:))-min(rough(j,:))); end
f=zeros(1,g); for i=1:g for j=1:e
f(i)=f(i)+((theta(i,j)-theta0(j))^2+(rough(i,j)-rough0(j))^2)^(1/2); end end f=f/21;
f2=f(find(f/21==min(f/21)));
function i=ff1(jingdu,weidu) load Qa.mat x=Qa(:,2); y=Qa(:,3);
[theta0,rough0]=ji(x,y);
全国大学生数学建模竞赛一等奖论文
% load jingdu1.mat % load weidu1.mat g=length(weidu); e=length(x); for i=1:e
theta0(i)=(theta0(i)-min(theta0))/(max(theta0)-min(theta0)); rough0(i)=(rough0(i)-min(rough0))/(max(rough0)-min(rough0)); end
[theta,rough]=ch(jingdu,weidu); for j=1:g
theta(j,:)=(theta(j,:)-min(theta(j,:)))/(max(theta(j,:))-min(theta(j,:)));
rough(j,:)=(rough(j,:)-min(rough(j,:)))/(max(rough(j,:))-min(rough(j,:))); end
f=zeros(1,g); for i=1:g for j=1:e
f(i)=f(i)+((theta(i,j)-theta0(j))^2+(rough(i,j)-rough0(j))^2)^(1/2); end end f=f/21;
i=find(f/21==min(f/21));
function [theta1,rough]=chaa(jingdu1,weidu1) load Qa.mat x=Qa(:,2); y=Qa(:,3);
g=length(jingdu1); t1=14.7:1/20:15.7; n=length(t1);
beta=chiwei(2015,108); for i=1:g
b(i)=xianxin(jingdu1(i),x,y);
h(i)=abs(tand(90-(beta+weidu1(i)))*b(i)); end
for i=1:g
t=dangdishi(jingdu1(i),120,t1); % b=xianxin(jingdu1(i),x,y); % h=tand(90-(beta+weidu1(i)))*b; % h=fun2(jingdu1(i),x,y); alpha=weidu1(i);
全国大学生数学建模竞赛一等奖论文
for j=1:n
theta(j)=(12-t(j))*15;
x(j)=-cosd(beta)*sind(theta(j))/(cosd(alpha)*cosd(theta(j))*cosd(beta)+sind(alpha)*sind(beta))*h(i);
y(j)=(sind(alpha)*cosd(beta).*cosd(theta(j))-cosd(alpha)*sind(beta))/(cosd(alpha)*cosd(theta(j))*cosd(beta)+sind(alpha)*sind(beta))*h(i); end
[theta1(i,:),rough(i,:)]=ji(x,y); end
function yizhi(jingdu,weidu,h) global jingdu1 weidu1 t=14.7:1/20:15.7; alpha=weidu;
beta=chiwei(2015,295);
t1=dangdishi(jingdu,120,t); n=length(t1); for i=1:n
theta(i)=(12-t(i))*15; % end
% for i=1:n
x(i)=-cosd(beta)*sind(theta(i))/(cosd(alpha)*cosd(theta(i))*cosd(beta)+sind(alpha)*sind(beta))*h; % end
% for i=1:n
y(i)=(sind(alpha)*cosd(beta).*cosd(theta(i))-cosd(alpha)*sind(beta))/(cosd(alpha)*cosd(theta(i))*cosd(beta)+sind(alpha)*sind(beta))*h; end
[theta,rough]=ji(x,y); f=fun(rough,theta); if f<=8*10^(-14)
jingdu1=[jingdu1,jingdu]; weidu1=[weidu1,weidu]; end
function l=xianxin(jingdu,x,y) p=polyfit(x,y,1); t0=14.7;
T0=t0-(120-jingdu)/15;
全国大学生数学建模竞赛一等奖论文