无人机六旋翼数学建模[matlab-simulink]

2023-05-16

写在前面,这篇文章是借鉴Drexel University 的Senior Design project的matlab simulink四旋翼模型,在此基础上针对六旋翼进行的基本改进,这里只对“+”型模型进行了改造,学习追溯帖。

数学模型

自然坐标系下,以无人机本身为参考系

b V ˙ C M ∣ i b { }^{b} \dot{\mathrm{V}}_{C M \mid i}^{b} bV˙CMib
说明:

  1. 基础变量是线性加速度
  2. 左上:以体坐标系下的微分
  3. 右上:体坐标系下的加速度
  4. 下标:这个变量是质心相对于惯性系
  5. 这里使用+号坐标系法,x的正方向指向motor1

Mass Moment of Inertia Matrix 质量惯性矩阵

对应轴的转动惯量
J b = [ J x x 0 0 0 J y y 0 0 0 J z z ] J^{b}=\left[\begin{array}{ccc} J_{x x} & 0 & 0 \\ 0 & J_{y y} & 0 \\ 0 & 0 & J_{z z} \end{array}\right] Jb= Jxx000Jyy000Jzz

推力系数Thrust Coefficient

T = C T ρ A r r 2 ϖ 2 T=C_{T} \rho A_{r} r^{2} \varpi^{2} T=CTρArr2ϖ2
其中:
ρ是空气密度
CT是特定一个旋翼的系数
Ar是螺旋桨旋转的扫掠面积
r是旋翼半径

ϖ \varpi ϖ
是旋翼角速度

Torque Coefficient 转矩系数

马达效应

A current-carrying wire or coil can exert a force on a permanent magnet. This is called the motor effect
同时考虑马达效应和推力,和旋翼的角速度成正比
将常量化为一个系数最后得到:

Q = c Q ϖ 2 T = c T ϖ 2 Q=c_{Q} \varpi^{2}\\ T=c_{T} \varpi^{2} Q=cQϖ2T=cTϖ2

初试矩阵的建设 initial matrix construction

通过输入测试得到的数据,我们提供了一个程序来方便计算这些系统系数,通过这些信息,我们能够建立一个Initial matrix,分别表示推力以及体坐标系下各轴转矩。

[ Σ T τ ϕ τ θ τ ψ ] = [ c T c T c T c T c T c T 0 3 2 d + c T 3 2 d + c T 0 − 3 2 d + c T − 3 2 d + c T − d + c T − 1 2 d + c T 1 2 d + c T d + c T 1 2 d + c T − 1 2 d + c T c Q − c Q c Q − c Q c Q − c Q ] [ ϖ 1 2 ϖ 2 2 ϖ 3 2 ϖ 4 2 ϖ 5 2 ϖ 6 2 ] \left[\begin{array}{l} \Sigma T \\ \tau_{\phi} \\ \tau_{\theta} \\ \tau_{\psi} \end{array}\right]=\left[\begin{array}{cccc} c_{T} & c_{T} & c_{T} & c_{T} & c_{T} & c_{T} \\ 0 & \frac{\sqrt{3}}{2}d_{+} c_{T} & \frac{\sqrt{3}}{2}d_{+}c_{T} & 0 &- \frac{\sqrt{3}}{2}d_{+} c_{T}&-\frac{\sqrt{3}}{2}d_{+} c_{T}\\ -d_{+} c_{T} & -\frac{1}{2}d_{+}c_{T}& \frac{1}{2}d_{+}c_{T} & d_{+}c_{T}&\frac{1}{2}d_{+}c_{T}&-\frac{1}{2}d_{+}c_{T}\\ c_{Q} & -c_{Q} & c_{Q} & -c_{Q}& c_{Q} & -c_{Q} \end{array}\right]\left[\begin{array}{l} \varpi_{1}^{2} \\ \varpi_{2}^{2} \\ \varpi_{3}^{2} \\ \varpi_{4}^{2} \\ \varpi_{5}^{2} \\ \varpi_{6}^{2} \end{array}\right] ΣTτϕτθτψ = cT0d+cTcQcT23 d+cT21d+cTcQcT23 d+cT21d+cTcQcT0d+cTcQcT23 d+cT21d+cTcQcT23 d+cT21d+cTcQ ϖ12ϖ22ϖ32ϖ42ϖ52ϖ62

百分比控制 Throttle Command Relation

调速命令

  为了控制,由于系数是从推力转矩与rpm之间转换的,所以需要线性回归来将调速命令转换成为rpm

ϖ S S = (  Throttle  % ) c R + b \varpi_{S S}=(\text { Throttle } \%) c_{R}+b ϖSS=( Throttle %)cR+b
解释:

ϖ 是期望稳定的转速。 \varpi 是期望稳定的转速。 ϖ是期望稳定的转速。
throttle是比例
Cr是rpm的转换系数,b是y的偏移

陀螺力Gyroscopic Forces

陀螺力是由每个马达的转动惯量,以及转速,还有角速度Roll and Pitch rate,反力的方向参考这篇文章,简单来说,反力的方向是:
τ = T = I ω 马达 × ω R 、 P 、 Q 的方向 \tau=T=I \omega_{马达}× \omega_{R、P、Q的方向} τ=T=Iω马达×ωRPQ的方向

τ ϕ gyro  = J m Q ( π 30 ) ( ϖ 1 − ϖ 2 + ϖ 3 − ϖ 4 + ϖ 5 − ϖ 6 ) τ θ gyro  = J m P ( π 30 ) ( − ϖ 1 + ϖ 2 − ϖ 3 + ϖ 4 − ϖ 5 + ϖ 6 ) \begin{gathered} \tau_{\phi_{\text {gyro }}}=J_{m} Q\left(\frac{\pi}{30}\right)\left(\varpi_{1}-\varpi_{2}+\varpi_{3}-\varpi_{4}+\varpi_{5}-\varpi_{6}\right) \\ \tau_{\theta_{\text {gyro }}}=J_{m} P\left(\frac{\pi}{30}\right)\left(-\varpi_{1}+\varpi_{2}-\varpi_{3}+\varpi_{4}-\varpi_{5}+\varpi_{6}\right) \end{gathered} τϕgyro =JmQ(30π)(ϖ1ϖ2+ϖ3ϖ4+ϖ5ϖ6)τθgyro =JmP(30π)(ϖ1+ϖ2ϖ3+ϖ4ϖ5+ϖ6)
pi/30代表从rpm转换到角度速度的转换

最后方程建设

将之前得到的转矩和陀螺力加起来

M A , T b = [ 3 2 d + c T ϖ 2 2 + 3 2 d + c T ϖ 3 2 − 3 2 d + c T ϖ 5 2 − 3 2 d + c T ϖ 6 2 + J m Q ( π 30 ) ( ϖ 1 − ϖ 2 + ϖ 3 − ϖ 4 + ϖ 5 − ϖ 6 ) − d + c T ϖ 1 2 + − 1 2 d + c T ϖ 2 2 + 1 2 d + c T ϖ 3 2 + d + c T ϖ 4 2 + 1 2 d + c T ϖ 5 2 − 1 2 d + c T ϖ 6 2 + J m P ( π 30 ) ( − ϖ 1 + ϖ 2 − ϖ 3 + ϖ 4 − ϖ 5 + ϖ 6 ) c Q ϖ 1 2 − c Q ϖ 2 2 + c Q ϖ 3 2 − c Q ϖ 4 2 + c Q ϖ 5 2 − c Q ϖ 6 2 ] M_{A, T}^{b}=\left[\begin{array}{c} \frac{\sqrt{3}}{2}d_{+} c_{T}\varpi_{2}^{2} + \frac{\sqrt{3}}{2}d_{+}c_{T}\varpi_{3}^{2} - \frac{\sqrt{3}}{2}d_{+} c_{T}\varpi_{5}^{2}-\frac{\sqrt{3}}{2}d_{+} c_{T}\varpi_{6}^{2}+J_{m} Q\left(\frac{\pi}{30}\right)\left(\varpi_{1}-\varpi_{2}+\varpi_{3}-\varpi_{4}+\varpi_{5}-\varpi_{6}\right) \\ -d_{+} c_{T}\varpi_{1}^{2} + -\frac{1}{2}d_{+}c_{T}\varpi_{2}^{2}+ \frac{1}{2}d_{+}c_{T}\varpi_{3}^{2} + d_{+}c_{T}\varpi_{4}^{2}+ \frac{1}{2}d_{+}c_{T}\varpi_{5}^{2} -\frac{1}{2}d_{+}c_{T}\varpi_{6}^{2} +J_{m} P\left(\frac{\pi}{30}\right)\left(-\varpi_{1}+\varpi_{2}-\varpi_{3}+\varpi_{4}-\varpi_{5}+\varpi_{6}\right) \\ c_{Q} \varpi_{1}^{2}-c_{Q} \varpi_{2}^{2}+c_{Q} \varpi_{3}^{2}-c_{Q} \varpi_{4}^{2}+c_{Q} \varpi_{5}^{2}-c_{Q} \varpi_{6}^{2} \end{array}\right] MA,Tb= 23 d+cTϖ22+23 d+cTϖ3223 d+cTϖ5223 d+cTϖ62+JmQ(30π)(ϖ1ϖ2+ϖ3ϖ4+ϖ5ϖ6)d+cTϖ12+21d+cTϖ22+21d+cTϖ32+d+cTϖ42+21d+cTϖ5221d+cTϖ62+JmP(30π)(ϖ1+ϖ2ϖ3+ϖ4ϖ5+ϖ6)cQϖ12cQϖ22+cQϖ32cQϖ42+cQϖ52cQϖ62

  这里

M A , T b M_{A, T}^{b} MA,Tb
代表由推力空气动力学推力和扭矩生成的力矩,主体部分收到的推力可以由以下表达。

F A , T b = [ 0 0 c T ( ϖ 1 2 + ϖ 2 2 + ϖ 3 2 + ϖ 4 2 + ϖ 5 2 + ϖ 6 2 ) ] \mathrm{F}_{A, T}^{b}=\left[\begin{array}{c} 0 \\ 0 \\ c_{T}\left(\varpi_{1}^{2}+\varpi_{2}^{2}+\varpi_{3}^{2}+\varpi_{4}^{2}+\varpi_{5}^{2}+\varpi_{6}^{2}\right) \end{array}\right] FA,Tb= 00cT(ϖ12+ϖ22+ϖ32+ϖ42+ϖ52+ϖ62)
其中f代表在基坐标系下,由空气阻力和推力同时作用下的力。

状态方程

角速度状态方程,其中包含每个角度的状态方程:

b ω ˙ b ∣ i b = ( J b ) − 1 [ M A , T b − Ω b ∣ i b J b ω b ∣ i b ] = [ P ˙ Q ˙ R ˙ ] { }^{b} \dot{\omega}_{b \mid i}^{b}=\left(J^{b}\right)^{-1}\left[M_{A, T}^{b}-\Omega_{b \mid i}^{b} J^{b} \omega_{b \mid i}^{b}\right]=\left[\begin{array}{c} \dot{P} \\ \dot{Q} \\ \dot{R} \end{array}\right] bω˙bib=(Jb)1[MA,TbΩbibJbωbib]= P˙Q˙R˙
其中:后面一项可以理解为刚体的科氏加速度,推导借鉴这里以下是借鉴推导部分,Ω矩阵将wb叉乘转化为点乘
Ω b ∣ i b = [ 0 − R Q R 0 − P − Q P 0 ] \Omega_{b \mid i}^{b}=\left[\begin{array}{ccc} 0 & -\mathrm{R} & \mathrm{Q} \\ \mathrm{R} & 0 & -\mathrm{P} \\ -\mathrm{Q} & \mathrm{P} & 0 \end{array}\right] Ωbib= 0RQR0PQP0
这个部分是角速度

ω b ∣ i b = [ P Q R ] \omega_{b \mid i}^{b}=\left[\begin{array}{l} P \\ Q \\ R \end{array}\right] \\ ωbib= PQR

下一个状态方程是欧拉运动方程,描述了欧拉角在惯性系下的运动速率

Φ ˙ = H ( Φ ) ω b ∣ i b = [ ϕ ˙ θ ˙ ψ ˙ ] \dot{\Phi}=H(\Phi) \omega_{b \mid i}^{b}=\left[\begin{array}{c} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{array}\right]\\ Φ˙=H(Φ)ωbib= ϕ˙θ˙ψ˙

笛卡尔坐标系下,使用旋转矩阵转换描述机体坐标系表达的一切向量。

利用欧拉角组成旋转矩阵

u b = [ 1 0 0 0 c ( ϕ ) s ( ϕ ) 0 − s ( ϕ ) c ( ϕ ) ] [ c ( θ ) 0 − s ( θ ) 0 1 0   s ( θ ) 0 c ( θ ) ] [ c ( ψ ) s ( ψ ) 0 − s ( ψ ) c ( ψ ) 0 0 0 1 ] u i \mathrm{u}^{b}=\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & \mathrm{c}(\phi) & \mathrm{s}(\phi) \\ 0 & -\mathrm{s}(\phi) & \mathrm{c}(\phi) \end{array}\right]\left[\begin{array}{ccc} \mathrm{c}(\theta) & 0 & -\mathrm{s}(\theta) \\ 0 & 1 & 0 \\ \mathrm{~s}(\theta) & 0 & \mathrm{c}(\theta) \end{array}\right]\left[\begin{array}{ccc} \mathrm{c}(\psi) & \mathrm{s}(\psi) & 0 \\ -\mathrm{s}(\psi) & \mathrm{c}(\psi) & 0 \\ 0 & 0 & 1 \end{array}\right] \mathrm{u}^{i}\\ ub= 1000c(ϕ)s(ϕ)0s(ϕ)c(ϕ) c(θ)0 s(θ)010s(θ)0c(θ) c(ψ)s(ψ)0s(ψ)c(ψ)0001 ui
cb是旋转方程相乘得到
C b ∣ i = [ c ( θ ) c ( ψ ) c ( θ ) s ( ψ ) − s ( θ ) ( − c ( ϕ ) s ( ψ ) + s ( ϕ ) s ( θ ) c ( ψ ) ) ( c ( ϕ ) c ( ψ ) + s ( ϕ ) s ( θ ) s ( ψ ) ) s ( ϕ ) c ( θ ) ( s ( ϕ ) s ( ψ ) + c ( ϕ ) s ( θ ) c ( ψ ) ) ( − s ( ϕ ) c ( ψ ) + c ( ϕ ) s ( θ ) s ( ψ ) ) c ( ϕ ) c ( θ ) ] C_{b \mid i}=\left[\begin{array}{ccc} \mathrm{c}(\theta) \mathrm{c}(\psi) & \mathrm{c}(\theta) \mathrm{s}(\psi) & -\mathrm{s}(\theta) \\ (-\mathrm{c}(\phi) \mathrm{s}(\psi)+\mathrm{s}(\phi) \mathrm{s}(\theta) c(\psi)) & (c(\phi) c(\psi)+s(\phi) s(\theta) s(\psi)) & \mathrm{s}(\phi) \mathrm{c}(\theta) \\ (s(\phi) s(\psi)+c(\phi) s(\theta) c(\psi)) & (-s(\phi) c(\psi)+c(\phi) s(\theta) s(\psi)) & \mathrm{c}(\phi) \mathrm{c}(\theta) \end{array}\right] \\ Cbi= c(θ)c(ψ)(c(ϕ)s(ψ)+s(ϕ)s(θ)c(ψ))(s(ϕ)s(ψ)+c(ϕ)s(θ)c(ψ))c(θ)s(ψ)(c(ϕ)c(ψ)+s(ϕ)s(θ)s(ψ))(s(ϕ)c(ψ)+c(ϕ)s(θ)s(ψ))s(θ)s(ϕ)c(θ)c(ϕ)c(θ)
这可以用来解决速度和位置方程
通过引入这个旋转矩阵
角速度可以表达为:

ω b ∣ i b = [ ϕ ˙ 0 0 ] + C ϕ ( [ 0 θ ˙ 0 ] + C θ [ 0 0 ψ ˙ ] ) \omega_{b \mid i}^{b}=\left[\begin{array}{c} \dot{\phi} \\ 0 \\ 0 \end{array}\right]+C_{\phi}\left(\left[\begin{array}{l} 0 \\ \dot{\theta} \\ 0 \end{array}\right]+C_{\theta}\left[\begin{array}{l} 0 \\ 0 \\ \dot{\psi} \end{array}\right]\right) ωbib= ϕ˙00 +Cϕ 0θ˙0 +Cθ 00ψ˙

最后欧拉运动学方程能用如下的的运动学方程来表示

Φ ˙ = [ ϕ ˙ θ ˙ ψ ˙ ] = [ 1 t ( θ ) s ( ϕ ) t ( θ ) c ( ϕ ) 0 c ( ϕ ) − s ( ϕ ) 0 s ( ϕ ) / c ( θ ) c ( ϕ ) / c ( θ ) ] [ P Q R ] = H ( Φ ) ω b ∣ i b \dot{\Phi}=\left[\begin{array}{c} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{array}\right]=\left[\begin{array}{ccc} 1 & t(\theta) s(\phi) & t(\theta) c(\phi) \\ 0 & c(\phi) & -s(\phi) \\ 0 & s(\phi) / c(\theta) & c(\phi) / c(\theta) \end{array}\right]\left[\begin{array}{l} P \\ Q \\ R \end{array}\right]=H(\Phi) \omega_{b \mid i}^{b} Φ˙= ϕ˙θ˙ψ˙ = 100t(θ)s(ϕ)c(ϕ)s(ϕ)/c(θ)t(θ)c(ϕ)s(ϕ)c(ϕ)/c(θ) PQR =H(Φ)ωbib
虽然这种方法很有效,但是有一个缺陷,当θ等于正负90度时,有奇异点出现,这样当飞行器的的pitch角度达到正负90时候,精确性就要打折了,
但是对于保守的设计来说够了。
解决方法:
使用四元数来模拟就可以解决

   下一个是速度状态方程

b V ˙ C M ∣ i b = ( 1 m ) F A , T b + g b − Ω b ∣ i b ω C M ∣ i b = [ U ˙ V ˙ W ˙ ] { }^{b} \dot{\mathrm{V}}_{C M \mid i}^{b}=\left(\frac{1}{m}\right) \mathrm{F}_{A, T}^{b}+g^{b}-\Omega_{b \mid i}^{b} \omega_{C M \mid i}^{b}=\left[\begin{array}{c} \dot{U} \\ \dot{V} \\ \dot{W} \end{array}\right] bV˙CMib=(m1)FA,Tb+gbΩbibωCMib= U˙V˙W˙
考虑施加在主体质心的加速度和力
这里开头是线性加速度实在对应惯性系下的线性加速度,变量m是总质量,gb是转换以后的重力加速度,使用这个可以计算出xyz方向的加速度
  最后一个状态方程是位置状态方程,描述了无人机质心的线性速度

i P ˙ C M ∣ i i = C i ∣ b   V C M ∣ i b = [ X ˙ Y ˙ Z ˙ ] i \dot{\mathrm{P}}_{C M \mid i}^{i}=C_{i \mid b} \mathrm{~V}_{C M \mid i}^{b}=\left[\begin{array}{c} \dot{X} \\ \dot{Y} \\ \dot{Z} \end{array}\right] iP˙CMii=Cib VCMib= X˙Y˙Z˙
这里v代表无人机的速度由c来转化以后的速度,让我们得到无人机的速度。

工程体现

在工程中我们需要修改电机的数量,初试条件的举矩阵等,本着不多事的原则,我只修改了电机数量,内外反馈没有进行改动。
这是修改内容
整体改了六个旋翼,改了控制器和输入输出状态,反馈回路没有修改。


经过测试,整体上还是比较稳定的:

可视化界面,这里修改了模型。

状态指标:

文件链接:私聊联系我,不要直接拍。
【闲鱼】https://m.tb.cn/h.Utxt7WY?tk=8mCvdOGY6Ck CZ0001 「我在闲鱼发布了【六旋翼SIMULINK仿真模型PID】」
点击链接直接打开

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无人机六旋翼数学建模[matlab-simulink] 的相关文章

  • 在 MATLAB 中绘制圆

    我被要求找到在 MATLAB 中绘制圆的不同方法 看起来很无聊 不过我可以想出一些想法 有些可能效率低下 Method 1 ezpolar x 1 Method 2 t linspace 0 2 pi 100 plot sin t cos
  • 笛卡尔散点图上的极坐标网格线

    我有一个脚本来创建散点图 使用gscatter 基于另一个脚本生成的 x y 数据 离散数据点 不连续 由于这些数据点实际上是圆形空间中某些对象的位置 因此添加极坐标网格线将使绘图更有意义 有谁知道如何在笛卡尔散点图上显示极坐标网格线 或者
  • 我的傅立叶逆变换中的尖峰

    我正在尝试在 MATLAB 中比较两个数据集 为此 我需要通过傅里叶变换数据来过滤数据集 对其进行过滤 然后对其进行逆傅里叶变换 然而 当我对数据进行逆傅里叶变换时 我在红色数据集的两端都出现了一个尖峰 图片显示了第一个尖峰 它在开始时应该
  • 如何从 Matlab 在 vi​​rtualenv 中执行 Python 代码

    我正在创建一个用于研究的 Matlab 工具箱 我需要执行 Matlab 代码 但也需要执行 Python 代码 我想允许用户从 Matlab 执行 Python 代码 问题是 如果我立即执行此操作 我将必须在 Python 环境中安装所有
  • Google Chrome 的互联网历史记录脚本

    我并不是在寻找 最佳 或最有效的脚本来执行此操作 但我想知道是否存在一个脚本可以从 Google Chrome 中提取一天的互联网历史记录并将其记录到 txt 文件中 我更喜欢用 Python 或 MATLAB 编写 如果你们有不同的方法
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列
  • 如何将向量标准化/非标准化到范围 [-1;1]

    我怎么能够正常化到范围的向量 1 1 我想使用函数norm 因为它会更快 也让我知道我该怎么做非规范化之后的向量正常化 norm对向量进行归一化 使其平方和为 1 如果要对向量进行归一化 使其所有元素都在 0 和 1 之间 则需要使用最小值
  • 我的 matlab 图中需要不同的颜色

    这是我的情节代码 问题是我的图中的两条线具有相同的颜色 我需要为图中的每条线 总共 4 条线 分配一个特殊的颜色 for i 1 nFolderContents data hdrload folderContents i if size f
  • 使用 lsqcurvefit 进行拟合

    我想将一些数据拟合到洛伦兹函数 但当我使用不同数量级的参数时 我发现拟合存在问题 这是我的洛伦兹函数 function value lorentz x x0 gamma amp value amp gamma 2 x x0 2 gamma
  • 在 Matlab 2014b 中移动等高线图的 z 值

    我正在尝试绘制曲面图 在曲面下方我希望显示轮廓线 但我希望轮廓位于z 1而不是默认值0 我找到了之前关于这个问题的帖子here https stackoverflow com questions 8054966 matlab how to
  • 将 Android 应用程序与服务器上的 Matlab 应用程序连接

    我正在 Android 上开发一个应用程序 它将获取图像输入 并将该输入传递到安装 MATLAB 应用程序的服务器 MATLAB 应用程序将计算结果并将其返回到该 Android 应用程序 我想知道我可以使用哪个服务器 如何将 MATLAB
  • 将 Matlab MEX 文件中的函数直接嵌入到 Python 中

    我正在使用专有的 Matlab MEX 文件在 Matlab 中导入一些仿真结果 当然没有可用的源代码 Matlab 的接口实际上非常简单 因为只有一个函数 返回一个 Matlab 结构体 我想知道是否有任何方法可以直接从Python调用M
  • 将输出从符号数学 (sym) 转换为浮点型

    我的问题类似于这个问题 https stackoverflow com questions 11114101 how to convert mupad symbol i sqrt 1 to i in matlab 11114959 1111
  • Microsoft Visual C++ 2008 和 R2007b 的 Mex 类型

    我想对 vs2008 和 matlab2007b 使用 mex 类型 我尝试了下面的代码 include
  • 在 MATLAB 中将数据拟合到 B 样条

    我正在尝试估计矩阵形式的时间序列数据中的缺失值 列代表时间点 即现在 我想将矩阵的每一行拟合到 B 样条曲线 并用它来估计缺失值 我可以使用 MATLAB 将数据拟合到普通样条曲线 但我完全陷入尝试找出如何拟合数据以创建 B 样条曲线的困境
  • Matlab 编辑器不使用 emacs 快捷方式

    Is there some way I can make the matlab integrated editor not use emacs shortcut but use more normal shortcuts such that
  • 是否有一个函数可以检查矩阵是否对角占优(行占优)

    矩阵是对角占优 http en wikipedia org wiki Diagonally dominant matrix 按行 如果对角线处的值在绝对意义上大于该行中所有其他绝对值的总和 对于列也是如此 只是相反 matlab中有没有函数
  • python 正弦和余弦精度

    如何提高Python正弦和余弦精度 例如 我想使用以下代码 只需计算随机复向量 x 的 y cos acos x import numpy as np N 100000 x np zeros N 1j np zeros N for k in
  • 在 Matlab 中显示有理数

    我有两个整数 m n 它们一起形成 m n 形式的有理数 现在我只想以这种理性的形式在 Matlab 中显示它们 我可以通过这样做来做到这一点 char sym m n 所以 如果 例如m 1 n 2 Matlab将显示1 2 然而 如果m
  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案

随机推荐

  • 跟我一起复制一款基于ESP-Drone无人机控制板

    1 ESP Drone 无人机项目简介 ESP 无人机是基于ESPRESIF ESP32 ESP32 S2 Wi Fi芯片的开源解决方案 xff0c 可通过Wi Fi连接到手机应用程序或游戏控制台 ESP无人机具有简单的硬件 清晰和可扩展的
  • linux安装llvm

    先装cmake xff0c 可以用sudo apt get install cmake或者去官网下载源码编译安装 下载llvm git clone https github com llvm llvm project git 3 Build
  • Makefile中的MAKECMDGOALS

    make 在执行时会设置一个特殊变量 xff1a 34 MAKECMDGOALS 34 xff0c 该变量记录了命令行参数指定的终极目标列表 xff0c 没有通过参数指定终极目标时此变量为空 该变量仅限于用在特殊场合 比如判断 xff0c
  • Docker切换存放目录踩坑

    因为 var 目录下的磁盘空间不足 xff0c 故把docker的存放目录切换到 data 下面 xff0c 具体步骤 xff1a 1 编辑docker配置文件 etc docker daemon json xff0c 修改data roo
  • 关于Modelsim SE-64 2020.4取消优化后不显示波形问题

    Modelsim取消优化后报错 Error suppressible vsim 12110 All optimizations are disabled because the novopt option is in effect This
  • 关于串口调试助手XCOM点击发送后卡住问题

    未成功安装CH340驱动 USB串口驱动 安装前先重启电脑 xff0c 再点击安装 串口选择错误 打开设备管理器 xff0c 查看USB连接的端口 xff08 COM xff09 号 xff0c 选择正确的端口 xff08 COM xff0
  • Makefile中Linux转Windows执行知识点

    makefile 是一个自动化编译工具 xff0c 可以简化编译过程 xff0c 自动化处理依赖关系和编译顺序 xff0c 提高了代码的可维护性 makefile 通常由一些规则和命令组成 xff0c 规则由目标 依赖和命令构成 xff0c
  • darknet2ncnn编译中 libopencv 库文件找不到

    问题描述 没有直接从 github 上下载 darknet2ncnn 包 xff0c 用的是他人提供的包 xff0c 包已经编译好 解压已经有 convert verify 文件 执行该文件 xff0c 问题描述如下 xff1a root
  • linux usb设备如何和u盘对应

    已知 usb 的 pid vid 如何对加载的u盘进行管理 思路 xff0c 找到 U盘的厂商信息中的pid和 vid 对应关系 xff0c 然后控制 U盘的加载 但是 U盘信息中没有pid 和 vid root 64 li PC sys
  • CV面试题(持续更新!!!)

    CV面试题 1 反卷积 反卷积又叫做转置卷积 xff0c 在计算机中计算的时候 xff0c 转置卷积先将卷积核转为稀疏矩阵C的形式 xff0c 然后计算的时候正向传播的时候左乘这个稀疏矩阵C的转置 xff0c 反向传播的时候左乘这个稀疏矩阵
  • 程序运行时数据保存位置

    程序运行时 xff0c 内存中有六个地方可以保存数据 1 寄存器 这是最快的保存区域 xff0c 寄存器位于处理器内部 然而寄存器的数量很有限 xff0c 所以寄存器是根据需要由编译器的分配的 我们对此没有直接的控制权限 也不可能在我们的程
  • ESP-Drone无人机控制板设计的第一个任务---绘制ESP32-S2-WROVER模块及周边电路

    第1步 xff0c 查看官方ESP Drone无人机ESP32 S2 WROVER模块的参考设计原理图 第二步 xff0c 用KiCAD绘制ESP32 S2 WROVER模块及周边电路 1 如图2 1所示 xff0c 从KiCAD的原理图符
  • ROS学习——读取摄像头数据image

    在ROS工作空间的src文件夹下创建read camera功能包 xff0c 并在包内创建include launch src cfg四个文件夹 在cfg文件夹中创建param yaml文件 xff0c 并写入以下内容 xff1a imag
  • ROS学习——控制小车转向

    给定一个旋转的角度 xff0c 让小车进行顺时针或逆时针旋转 span class token macro property span class token directive keyword include span span clas
  • PID参数设定

    在电机的控制领域 xff0c 不同的电机有不同的驱动方式 xff0c 其中应用最广泛的就是PID proportion integration differentiation 控制 P I和D分别指比例控制 xff0c 积分控制和微分控制
  • 系统编程__2__父子进程的创建和回收

    系统编程 这里写的是对于小白来说更多的了解系统编程的文章 xff0c 有写的不对的地方还恳请各位大佬指出错误 xff0c 小编一定会多多采纳 手动多谢 那么 xff0c 上一次我们稍微了解了一下关于系统编程的一些主要内容 没有看到的童鞋还请
  • php解决跨域访问

    php跨域问题解决判断 参考文章 xff1a php跨域 xff1a https blog csdn net ouxiaoxian article details 89332027 预检请求是什么 xff1a https www jians
  • 动态库与静态库的区别是什么

    区别 xff1a 1 静态库的扩展名一般为 a 或 lib xff1b 动态库的扩展名一般为 so 或 dll 2 静态库在编译时会直接整合到目标程序中 xff0c 编译成功的可执行文件可独立运行 xff1b 动态库在编译时不会放到连接的目
  • Ubuntu 使用 du 查看某个文件夹大小

    在 Ubuntu 系统中 xff0c 你可以使用 du 命令来查看文件夹的大小 例如 xff0c 如果你想查看文件夹 var log 的大小 xff0c 你可以使用如下的命令 xff1a du sh var log 其中 xff0c s 选
  • 无人机六旋翼数学建模[matlab-simulink]

    写在前面 xff0c 这篇文章是借鉴Drexel University 的Senior Design project的matlab simulink四旋翼模型 xff0c 在此基础上针对六旋翼进行的基本改进 xff0c 这里只对 43 型模