问题描述:
MATLAB求助!计算地球子午圈曲率半径、卯酉圈曲率半径和纬圈半径; 计算赤道到纬度为 的子午线弧长等
另外还有计算赤道到纬度为之间的1弧度经差纬差的球面梯形面积.标题打不下了.代码运行不了.
以下是代码:
a = 6378245; b = 6356863; %长短半轴
e = realsqrt((realpow(a,2)-realpow(b,2))/realpow(a,2)); %第一偏心率
fai = [0:0.5:90]; %纬度数组
%计算曲率半径
m = a.*(1-realpow(e,2))./realpow((1-realpow(e.*sind(fai),2)),3./2);
M = vpa(m,8);
n = a./realpow((1-realpow(e.*sind(fai),2)),1./2);
N = vpa(n,8);
r = N.*cosd(fai);
R = vpa(r,8);
fun = @m;
s = quad(fun,0,fai);
lamda1 = 0;
lamda2 = 1;
t = @m.*n.*cosd(fai);
T = dblquad(T,0,fai,lamda1,lamda2,8);
disp('子午圈曲率半径:');
disp(M);
disp('卯酉圈曲率半径:');
disp(N);
disp('纬圈半径:');
disp(r);
disp('赤道到纬度为 的子午线弧长:');
disp(s);
disp('赤道到纬度为 之间的1弧度经差纬差的球面梯形面积:');
disp(T);
这三个地方出了问题,注释如下
fai = [0:0.5:90]; %纬度数组
错误:Use of brackets [] is unnecessary,use parentheses to group,if needed.
m = a.*(1-realpow(e,2))./realpow((1-realpow(e.*sind(fai),2)),3./2);
错误:The value assigned to variable 'm' might be unused.
t = @m.*n.*cosd(fai);
错误:'m' might be used incompatibly or redefined.
另外还有计算赤道到纬度为之间的1弧度经差纬差的球面梯形面积.标题打不下了.代码运行不了.
以下是代码:
a = 6378245; b = 6356863; %长短半轴
e = realsqrt((realpow(a,2)-realpow(b,2))/realpow(a,2)); %第一偏心率
fai = [0:0.5:90]; %纬度数组
%计算曲率半径
m = a.*(1-realpow(e,2))./realpow((1-realpow(e.*sind(fai),2)),3./2);
M = vpa(m,8);
n = a./realpow((1-realpow(e.*sind(fai),2)),1./2);
N = vpa(n,8);
r = N.*cosd(fai);
R = vpa(r,8);
fun = @m;
s = quad(fun,0,fai);
lamda1 = 0;
lamda2 = 1;
t = @m.*n.*cosd(fai);
T = dblquad(T,0,fai,lamda1,lamda2,8);
disp('子午圈曲率半径:');
disp(M);
disp('卯酉圈曲率半径:');
disp(N);
disp('纬圈半径:');
disp(r);
disp('赤道到纬度为 的子午线弧长:');
disp(s);
disp('赤道到纬度为 之间的1弧度经差纬差的球面梯形面积:');
disp(T);
这三个地方出了问题,注释如下
fai = [0:0.5:90]; %纬度数组
错误:Use of brackets [] is unnecessary,use parentheses to group,if needed.
m = a.*(1-realpow(e,2))./realpow((1-realpow(e.*sind(fai),2)),3./2);
错误:The value assigned to variable 'm' might be unused.
t = @m.*n.*cosd(fai);
错误:'m' might be used incompatibly or redefined.
问题解答:
我来补答展开全文阅读