自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (2)
  • 收藏
  • 关注

原创 如何用纯c语言优雅地实现一个矩阵运算库

文章目录1.一个优雅好用的c语言库必须满足哪些条件2.实现一个矩阵运算库的几点思考(1)采用预定义的数据类型,避免直接使用编译器定义的数据类型(2)基于对象编程,定义矩阵对象(3)除了特别编写的内存处理函数(使用栈链表保存、释放动态分配的内存地址),不允许任何函数直接分配和释放内存(4)防御性编程,对输入参数做有效性检查,并返回错误号(5)注意编程细节的打磨3.完整c程序参考资料  编程既是技术输出也是艺术创作。鉴赏高手写的程序,往往让人眼前一亮,他们思路、逻辑清晰,所呈现的代码简洁、优雅、高效,令人为之

2021-08-16 23:23:16 5190 31

原创 c语言中如何避免过多使用全局变量

文章目录1、设计函数以传递指针类型的参数2、定义一个函数以获取/设置全局变量,利用static变量,将全局变量作用域限定于该函数,将全局变量隐藏起来3、把全局变量定义在某一个 .c 文件中, 并定义为 static类型,然后定义一系列操作这个变量的函数,头文件里面只有操作函数, 没有变量的声明1、设计函数以传递指针类型的参数  全局变量满天飞的代码:MP g_MPData;void fun0(void){ g_MPData.a = 0;}void fun1(void){ g_MPData

2020-11-10 22:19:33 7361 1

原创 一文带你完全掌握机器人DH参数建模(详细步骤+实例+代码)

一文带你完全掌握机器人DH参数建模(详细步骤+实例+代码)一、前言1、描述两个坐标系的变换关系需要6个参数(3个表示位置变换,3个表示姿态变换),为什么DH参数只需4个?2、利用DH参数建模时,各个连杆坐标系的建立是唯一的吗?3、DH参数表是唯一的吗?4、标准DH参数与修正DH参数有何异同?二、标准DH参数1、DH四个参数的定义2、DH连杆坐标系的约定3、根据DH连杆坐标系约定,建立各个连杆坐标系4、根据DH四个参数的定义,创建DH参数表三、六轴机器人实例(standard DH)

2020-05-09 19:17:01 59501 41

原创 一种极简的余弦定理证明方法

一种极简的余弦定理证明方法

2024-09-05 22:22:50 442

原创 直线拟合(支持任意维空间的直线拟合,附代码)

给定一系列的三维空间点,拟合得到直线的方程。本文的直线拟合方法适用于任意维空间的直线拟合。博文包括完整的推导过程,方法简单有效,附完整的MATLAB代码

2024-01-27 20:12:57 2419

原创 一个函数最好只做一件事?未必!这是一个例子

编程实践中,为了模块化设计,降低程序的复杂度,提高程序的可读性,通常设计一个函数时应尽可能简单,简单到只做一件事。然而,工程实践中,有时候受制于一些因素,如内存空间、程序执行效率等,迫使我们不得不打破“一个函数只做一件事”的规则。

2023-11-30 22:39:02 561 1

原创 求三个球面交点的高效解法

已知三个球面的球心坐标和球半径,求三个球面的两个交点坐标

2023-07-30 22:44:34 3702 6

原创 优质的学习资源收藏

优质的学习资源收藏

2023-02-22 22:10:28 408 1

原创 已知函数表达式,估计海塞矩阵(Hessian Matrix)

已知函数表达式,有限差分估算海塞矩阵(Hessian Matrix)

2023-02-13 22:49:13 771

原创 n次多项式的任意阶导数计算(附代码)

n次多项式的任意阶导数计算(附代码)

2022-10-29 22:23:37 1749

原创 三次、五次多项式插值(附代码)

本博文利用matlab符号计算的功能,给出三次、五次多项式插值的系数解析解(不需要解矩阵方程),并尽可能减少运算量

2022-10-23 16:59:46 9362 1

原创 VS的C6386警告(缓冲区溢出)的消除方法

VS的C6386警告(缓冲区溢出)的消除方法

2022-08-11 22:52:51 15597 8

原创 一阶导数和二阶导数的二阶/四阶中心差分格式

一阶导数和二阶导数的二阶/四阶中心差分格式

2022-04-13 22:15:17 20495 4

原创 判断三维空间两线段是否相交(附代码)

判断三维空间两线段是否相交(附代码)

2022-04-09 12:12:37 4136 16

原创 MATLAB中如何提取符号表达式的系数(附实例代码)

MATLAB中如何提取符号表达式的系数(附实例代码)

2022-04-03 13:23:26 12325 1

原创 rpy角与旋转矩阵之间的转换(附完整代码)

rpy角与旋转矩阵之间的转换,含详细推导 + 附完整代码

2022-03-22 22:54:53 13199 5

原创 避坑经验记录

程序开发实践中的避坑经验记录

2022-03-09 22:53:08 247

原创 线速度、线加速度与参数化路径标量的速度、加速度之间的转换

线速度、线加速度与参数化路径标量的速度、加速度之间的转换

2022-03-05 21:27:31 1703

原创 警惕数值计算过程的误差传播,以一个实例说明

警惕数值计算过程的误差传播,以一个实例说明

2022-02-27 18:09:26 786

原创 matlab的fmincon函数如何传入额外参数或数据?

MATLAB的fmincon函数如何传入额外参数或数据,附带例子与完整程序

2022-02-19 11:37:17 4030

原创 空间曲线的曲率计算方法(附代码)

空间曲线的曲率计算方法,附代码

2022-02-18 22:51:43 4538 3

转载 严加安院士:数学如诗,境界为上

严加安院士:数学如诗,境界为上

2022-01-22 11:22:12 234

转载 严加安院士:我心目中的科学与艺术

严加安院士:我心目中的科学与艺术

2022-01-22 10:54:06 346

转载 c语言位运算(含大量实例)

c语言位运算,含大量实例

2022-01-05 22:44:53 519

原创 c语言读txt文件的数据与写数据到txt文件

c语言读txt文件的数据与写数据到txt文件,完整程序

2022-01-05 22:20:46 5144

原创 最小二乘法椭圆拟合

最小二乘法椭圆拟合

2021-12-06 16:33:10 1031

原创 最小二乘法圆拟合(附完整代码)

一种简洁、高效的2D/3D圆弧拟合方法,圆弧拟合可以选择是否精确经过起点和终点。附完整代码,方便学习。

2021-12-04 22:05:37 10360

原创 最小二乘法球面拟合(附完整代码)

一种简洁、高效的球面拟合方法,附完整代码,方便学习

2021-12-04 16:35:16 5713

原创 全局B样条混合插值与拟合

文章目录一、问题描述二、全局B样条混合插值与拟合效果展示一、问题描述  对于给定的一系列任意大于1维数的数据点,通过指定控制点个数以及所给定数据点中需要精确经过的点,进行全局B样条混合插值与拟合,使曲线满足一定连续性(C1、C2或更高阶连续)。二、全局B样条混合插值与拟合效果展示  点个数15,控制点个数10,第1 6 10 13 15个点精确经过:  点个数15,控制点个数8,第1 6 10 13 15个点精确经过:  点个数15,控制点个数10,第1 5 9 13 15个点精确经过:

2021-10-31 17:05:54 726 3

原创 全局B样条拟合

文章目录一、问题描述二、拟合与插值对比优缺点一、问题描述  对于给定的一系列任意维数的数据点(维数大于等于1)及拟合误差,进行全局B样条拟合,使曲线满足一定连续性(C1、C2或更高阶连续),同时支持多种拟合条件:  (1)只给定数据点;  (2)给定数据点、起点切矢、终点切矢;二、拟合与插值对比优缺点  ...

2021-10-28 22:28:34 1643 1

原创 全局B样条插值

文章目录一、问题描述二、多种插值条件(1)只给定数据点(2)给定数据点、起点切矢、终点切矢(3)给定数据点、所有数据点处的切矢(4)给定数据点、起点切矢、终点切矢、起点二阶导矢、终点二阶导矢一、问题描述  对于给定的一系列任意维数的数据点(维数大于1),进行全局B样条插值,使曲线满足一定连续性(C1、C2或更高阶连续),同时支持多种插值条件:  (1)只给定数据点;  (2)给定数据点、起点切矢、终点切矢;  (3)给定数据点、所有数据点处的切矢;  (4)给定数据点、起点切矢、终点切矢、起点二

2021-10-13 22:58:58 933 2

原创 局部B样条插值

文章目录问题描述局部B样条插值的一些特性三级目录问题描述  对于给定的一系列任意维数的数据点(维数大于1),进行局部三次B样条插值,同时可以选择插值条件:  (1)只给定数据点;  (2)给定数据点、起点切矢、终点切矢;  (3)给定数据点、起点切矢、终点切矢;局部B样条插值的一些特性三级目录...

2021-09-26 22:49:50 990

转载 extern “c“用法解析

转载自:extern "c"用法解析

2021-09-18 21:37:39 212

原创 牛顿法迭代求根c语言实现

牛顿法迭代求根c语言

2021-09-14 22:30:30 785 1

原创 可以修改常变量的值吗(c语言)

c语言中,常变量是指被const关键字修饰的变量,其值一般在定义的时候初始化,之后不允许赋值改变其值。若常变量作为左值,试图对常变量赋值,编译器会报错,如以下例子。#include <stdio.h>#include <memory.h>int main(void){ const double a; const double array[3]; a = 1.0; //编译出错,提示“表达式必须为可修改的左值” array[0] = 2.0; /

2021-07-24 16:05:32 1363

原创 判断无符号整数是否为2的n次方(c语言)

//判断无符号整数a是否为2的n次方,若是返回1,不是返回0int is_power_of_two(unsigned int a){ if (a != 0u) { if ((a & (a - 1u)) == 0u) { return 1; } else { return 0; } } else { return 0; }}

2021-07-22 19:11:48 328

原创 LU分解、矩阵求逆与解线性方程组(matlab代码)

文章目录一、前言二、LUP分解MATLAB代码三、LUP分解求解方程组MATLAB代码四、LUP分解、矩阵求逆、求解线性方程组测试例子一、前言  参考知乎文章:LU分解、LUP分解、Cholesky分解中的LUP分解,LUP分解相比LU分解更加稳定,在矩阵求逆、求解解线性方程组有广泛运用。笔者修复了文章所述LUP算法一个BUG,当待分解的矩阵某一列均为0时,例如矩阵[0 1;0 1],无法进行LUP分解。增加基于LUP分解求解线性方程组代码、在矩阵方程AX=B中,当B为单位阵时,利用LUP分解可以快速稳

2021-07-07 22:45:46 5730 6

原创 快速平方根倒数算法C程序(包括单精度与双精度)

/**********************************************************************************************Function: fast_invSqrt32Description: 快速平方根倒数Input: 单精度浮点数numberOutput: 无Input_Output: 无Return: 快速平方根倒数的值Author: Marc Pony(marc_pony@163.com)*************

2021-04-05 15:54:02 764 8

原创 详解QT中的快速正弦、快速余弦函数的实现

文章目录一、问题描述二、推导过程1、推导过程一、问题描述  数值计算中,许多数学函数(如正弦、余弦、平方根等)可以通过泰勒级数展开的方法求得,然而,对于正弦函数与余弦函数,采用泰勒级数展开的方法收敛速度慢,计算速度慢。那么,有没有在满足给定的计算精度前提下,快速计算正弦函数与余弦函数的算法呢?  QT中提供了快速正弦函数、快速余弦函数的算法,代码片段如下:#define QT_SINE_TABLE_SIZE 256#define M_PI (3.14159265358979323846)inli

2021-03-24 23:13:05 4119

原创 为什么我推荐使用一级指针创建二维数组?

文章目录1、对于nnn行mmm列的二维数组aaa,a[i][j]a[i][j]a[i][j]与a[i∗m+j]a[i*m+j]a[i∗m+j]这两种数组元素的访问方式的效率是一样2、设计函数以传递指针类型的参数1、对于nnn行mmm列的二维数组aaa,a[i][j]a[i][j]a[i][j]与a[i∗m+j]a[i*m+j]a[i∗m+j]这两种数组元素的访问方式的效率是一样#include <time.h>#include <stdio.h>#include <ma

2020-12-14 22:41:50 786

robot_velocity_planning _V2.0.rar

梯形、余弦、多项式、7段S型、7段修正S型、15段S型、31段S型速度规划演示软件。采用统一架构实现了以上7种速度规划算法,所有核心算法均用c语言实现,不调用第三方算法库,采用QT实现图形用户界面。

2020-03-22

机器人速度规划

机器人速度规划算法,包括7种速度规划算法:梯形、余弦、多项式、7段s型,7段修正s型,15段s型,31段s型速度规划。所有核心算法均用c语言实现,不调用第三方算法库。

2018-07-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除