函数或变量 'm_proj' 无法识别。
出错 Untitled2 (第 155 行)
m_proj('UTM','lon',xlims,'lat',ylims);
```
clc
clear
opts = delimitedTextImportOptions("NumVariables", 5);
% 指定范围和分隔符
opts.DataLines = [4, Inf];
opts.Delimiter = " ";
% 指定列名称和类型
opts.VariableNames = ["VarName1", "BGI", "DATA", "EXTRACTION", "VarName5"];
opts.VariableTypes = ["double", "double", "double", "double", "double"];
% 指定文件级属性
opts.ExtraColumnsRule = "ignore";
opts.EmptyLineRule = "read";
opts.ConsecutiveDelimitersRule = "join";
opts.LeadingDelimitersRule = "ignore";
% 导入数据
daoru = readtable("C:\Users\miracle\Desktop\data_usa_ohio_dat_110213051620", opts);
%% 转换为输出类型
daoru = table2array(daoru);
%% 清除临时变量
clear opts
%%命名变量
source=daoru(:,1);
lat=daoru(:,2);
long=daoru(:,3);
alt=daoru(:,4);
g=daoru(:,5);
%% GRS80参数
GM=3.986005e14;
f=1/298.257222101;
b=6356752.3141;
a=6378137;
w=7292115e-11;
e2=0.00669438002290;
epie2=0.00673949677548;
E=521854.0097;
c=6399593.6259;
U0=62636860.850;
ra=9.7803267715;
rb=9.8321863685;
m=0.00344978600308;
%%计算纬度为23度12分23秒和-23度12分23秒的椭球面上正常重力值
fai=(23/3600+12/60+23)pi/180;
f_2=-f+5/2m+1/2mm-26fm/7+15mm/4;
f_4=-1/2ff+5fm/2;
r=ra*(1+f_2sin(fai)^2+f_4sin(fai)^4);
%%计算纬度为23度12分23秒和-23度12分23秒,高度为2000米椭球面上正常重力值
h=2000;
r_2000=r*(1-2h(1+f+m-2sin(fai)^2)/a+(3h^2)/a^2);
%%计算纬度为23度12分23秒和-23度12分23秒,高度为6000米椭球面上正常重力值
h=6000;
r_6000=r*(1-2h(1+f+m-2sin(fai)^2)/a+(3h^2)/a^2);
%%开始计算作业三中各个点正常重力值
for i=1:1:length(source)
fai(i,1)=lat(i,1)pi/180;
gamar(i,1)=ra(1+f_2sin(fai(i,1))^2+f_4sin(fai(i,1))^4);
gama(i,1)=gamar(i,1)(1-2alt(i,1)(1+f+m-2sin(fai(i,1))^2)/a+(3*alt(i,1)^2)/a^2);
gama(i,1)=gama(i,1)*100000;
end
%%空间改正
for j=1:1:length(source)
d1g(j,1)=0.3086alt(j,1)-0.72e-7(alt(j,1)^2);
end
%%空间重力异常:正常重力值-对应地面点重力值+空间改正
for i=1:1:length(source)
deta_gspace(i,1)=d1g(i,1)+g(i,1)-gamar(i,1)*100000;
end
%%布格改正
for n=1:1:length(source)
d2g(n,1)=-0.1119*alt(n,1);
end
%%布格重力异常
for k=1:1:length(source)
g_bor(k,1)=g(k,1)+d1g(k,1)+d2g(k,1)-gamar(k,1)*100000;
end
%%生成结果文件
result=zeros(length(source),6);
for i=1:1:length(source)
result(i,1)=lat(i,1);
result(i,2)=long(i,1);
result(i,3)=gama(i,1);
result(i,4)=deta_gspace(i,1);
result(i,5)= d2g(i,1);
result(i,6)=g_bor(i,1);
end
fid=fopen("gravity.corr.txt",'w');
for m=1:6844
for n=1:4
fprintf(fid,'%f\t',result(m,n));
end
fprintf(fid,'%f\t',result(m,6));
fprintf(fid,'\n');
end
%%数据统计:最大值、最小值、平均值、标准差
statistics=zeros(6,4);
for i=1:6%计数四个类型
all=0;%总和
max1=-1000000;
min1=10000000;
all2=0;%平方的和
for m=1:length(source)%计数不同的值
all=all+result(m,i);
if result(m,i)>max1
max1=result(m,i);
end
if result(m,i)
min1=result(m,i);
end
all2=all2+result(m,i)*result(m,i);
end
statistics(i,1)=all/length(source);
statistics(i,2)=max1;
statistics(i,3)=min1;
statistics(i,4)=sqrt(all2/length(source));
end
%计算空间改正、空间重力异常、布格改正、布格重力异常统计值(在绘图时也要修改此处)
max_space=max(d2g);
min_space=min(d2g);
mean_sapce=mean(d2g);
std_space=std(d2g);
%找寻最值出现区域
[x_sapce,y_sapce]=find(d2g==max(d2g));
% 绘图的经纬度范围
x=statistics(2,3):0.01:statistics(2,2);
y=statistics(1,3):0.01:statistics(1,2);
[X,Y]=meshgrid(x',y');
xlims=[statistics(2,3),statistics(2,2)];
ylims=[statistics(1,3),statistics(1,2)];
%绘制重力数据分布图
figure
%定义投影坐标系
m_proj('UTM','lon',xlims,'lat',ylims);
%图像坐标与参量对应
m_plot(result(:,2),result(:,1),'r.','linewidth',0.1);
%添加边框
m_grid('box','fancy','tickdir','in','FontSize',15);
% 绘图
figure
%格网点插值
D1=griddata(result(:,2),result(:,1),d2g,X,Y,'v4');
m_proj('UTM','lon',xlims,'lat',ylims);
%绘制等高线
m_contourf(X,Y,D1,'lines','no','LevelStep',1);
%设置阴影
shading("flat");
%定义色条
colormap('jet');
hold on;
m_grid('box','fancy','tickdir','in','FontSize',15);
```)
出错 Untitled2 (第 155 行)
m_proj('UTM','lon',xlims,'lat',ylims);
你用的matlab版本是多少
您好,请问解决了么?