matlab 计算指北角,运筹学及MATlab编程.doc

运筹学及MATlab编程

一、 MATLAB中的优工具箱

利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非线性方程(组)的求解,线性、非线性的最小二乘问题。另外,该工具箱还提供了线性、非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便快捷的途径。

1.1 优化工具箱中的函数

优化工具箱中的函数包括下面几类:

表1-1 最小化函数表

函 数描 述fgoalattain多目标达到问题fminbnd有边界的标量非线性最小化fmincon有约束的非线性最小化fminimax最大最小化fminsearch, fminunc无约束非线性最小化fseminf半无限问题linprog线性课题quadprog二次课题

表1-2 方程求解函数表

函 数描 述\线性方程求解fsolve非线性方程求解fzero标量非线性方程求解

表1-3 最小二乘函数表

函 数描 述\线性最小二乘lsqlin有约束线性最小二乘lsqcurvefit非线性曲线拟合lsqnonlin非线性最小二乘lsqnonneg非负线性最小二乘

表9-4 实用函数表

函 数描 述optimset设置参数optimget?

表9-5 大型方法的演示函数表

函 数描 述circustent马戏团帐篷问题—二次课题molecule用无约束非线性最小化进行分子组成求解optdeblur用有边界线性最小二乘法进行图形处理

表9-6 中型方法的演示函数表

函 数描 述bandemo香蕉函数的最小化dfildemo过滤器设计的有限精度goaldemo目标达到举例optdemo演示过程菜单tutdemo教程演示?

使用优化工具箱时,由于优化函数要求目标函数和约束条件满足一定的格式,所以需要用户在进行模型输入时注意以下几个问题:1.目标函数最小化

优化函数fminbnd、fminsearch、fminunc、fmincon、fgoalattain、fminmax和lsqnonlin都要求目标函数最小化,如果优化问题要求目标函数最大化,可以通过使该目标函数的负值最小化即-f(x)最小化来实现。近似地,对于quadprog函数提供-H和-f,对于linprog函数提供-f。

2.约束非正

优化工具箱要求非线性不等式约束的形式为Ci(x)≤0,通过对不等式取负可以达到使大于零的约束形式变为小于零的不等式约束形式的目的,如Ci(x)≥0形式的约束等价于- Ci(x)≤0;Ci(x)≥b形式的约束等价于- Ci(x)+b≤0。

3.避免使用全局变量.2 相关函数的介绍

1.2.1 fminbnd函数

功能:找到固定区间内单变量函数的最小值。

x = fminbnd(fun,x1,x2)

x = fminbnd(fun,x1,x2,options)

x = fminbnd(fun,x1,x2,options,P1,P2,...)

[x,fval] = fminbnd(...)

[x,fval,exitflag] = fminbnd(...)

[x,fval,exitflag,output] = fminbnd(...)

描述:

fminbnd求取固定区间内单变量函数的最小值。

x = fminbnd(fun,x1,x2)返回区间{x1,x2}上fun参数描述的标量函数的最小值x。

x = fminbnd(fun,x1,x2,options)用options参数指定的优化参数进行最小化。

x = fminbnd(fun,x1,x2,options,P1,P2,...)提供另外的参数P1,P2等,传输给目标函数fun。如果没有设置options选项,则令options=[]。

[x,fval] = fminbnd(...)返回解x处目标函数的值。

[x,fval,exitflag] = fminbnd(...)返回exitflag值描述fminbnd函数的退出条件。

[x,fval,exitflag,output] = fminbnd(...)返回包含优化信息的结构输出。

变量:

函数的输入变量在表9-7中进行描述,输出变量在表9-8中描述。与fminbnd函数相关的细节内容包含在fun,options,exitflag和output等参数中,如表9-10所示。

参 数描

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要计算北角,即地球表面上某一点相对于地球真北极的角度,可以使用以下方法在MATLAB中进行计算: 1. 确定该点的经纬度坐标。用经度表示东西方向,以0°为基准,向东为正,向西为负;用纬度表示南北方向,以赤道为基准,向北为正,向南为负。 2. 将经纬度坐标转换为地心坐标系的笛卡尔坐标。可以使用MATLAB中的函数geodetic2enu或geodetic2ecef进行转换。geodetic2enu将经纬度转换为东北天坐标系(ENU)下的坐标,geodetic2ecef将经纬度转换为地心固定坐标系(ECEF)下的坐标。 3. 使用MATLAB中的函数cart2pol将笛卡尔坐标转换为极坐标,获得该点相对于原点(地球真北极)的极径和极角。该函数返回的极角为弧度制。 4. 将极角转换为角度制,可以使用MATLAB中的函数rad2deg将弧度转换为角度。 通过以上步骤,你可以使用MATLAB计算得到该点相对于地球真北极的真北角。 ### 回答2: 真北角目标点相对于地理北极的方向角,计算方法可以通过使用Matlab进行数学计算来实现。 要计算北角,需要了解目标点的经纬度坐标和地理北极的位置。假设目标点的经度为lon,纬度为lat。首先,我们需要将经纬度转换为弧度。在Matlab中,可以使用`deg2rad`函数将角度转换为弧度。 然后,需要计算目标点相对于地理北极的方位角。在数学上,正北方位角为0度,顺时针方向递增。可以使用`atan2`函数计算目标点与地理北极之间的经度差值。将经度差值乘以负一,即可得到目标点相对于地理北极的方位角。 接下来,需要将方位角转换为真北角。由于地球存在磁场偏差,地理北极与磁北极之间存在一定的偏移角度,称为磁偏角。在计算北角时,需要考虑并修正该磁偏角,以得到准确的真北角。 最后,将修正后的真北角转换为角度,即可得到结果。可以使用`rad2deg`函数将弧度转换为角度。 综上所述,可以使用以下Matlab代码计算北角: ```matlab lat = deg2rad(lat); lon = deg2rad(lon); bearing = atan2(sin(lon), -cos(lon)*sin(lat)); magnetic_declination = %磁偏角,根据实际情况设置 true_bearing = bearing + deg2rad(magnetic_declination); true_north = rad2deg(true_bearing); ``` 通过使用以上代码,可以利用Matlab计算目标点的真北角。需注意,在实际应用中,需要根据地理位置和日期等信息,采用准确的磁偏角值来修正真北角。 ### 回答3: 真北角物体在地球上的实际方向与北方的夹角。在计算机软件Matlab中,可以通过以下步骤计算北角: 1. 获取物体的经纬度坐标。 2. 获取物体所在位置的地球磁场偏角。 3. 将磁场偏角转换为弧度。 4. 使用经纬度坐标和磁场偏角计算北角。 以下是计算北角Matlab代码示例: ```matlab % 物体经纬度坐标 latitude = 40.7128; % 纬度(例如,纽约市的纬度) longitude = -74.0060; % 经度 % 磁场偏角(根据所在位置获取) declination = 12.5; % 假设磁场偏角为12.5度 % 将磁场偏角转换为弧度 declinationRadian = deg2rad(declination); % 计算北角 trueNorthAngle = atan2d(cos(declinationRadian) * sind(longitude), cos(latitude) * sind(longitude) * sind(declinationRadian) - sin(latitude) * cos(declinationRadian)); disp(['真北角:', num2str(trueNorthAngle), ' 度']); ``` 在上述代码中,我们首先定义了物体的经纬度坐标。然后,我们定义了磁场偏角(根据所在位置获取),并将其转换为弧度。最后,通过公式计算北角,并打印出结果。 需要注意的是,计算北角的准确性取决于提供的经纬度坐标和磁场偏角的精确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值