自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 如何理解矩阵乘的物理或者几何含义,这篇文章说的挺有意思的

矩阵相乘的几何意义可以理解为线性变换的复合运算,其中"行乘列"的规则确保了变换的连续性。两个矩阵相乘的前提是前者的列数等于后者的行数,否则无法进行乘法操作。这种限制源于矩阵乘法本质上是线性映射的组合,只有当维数匹配时才能实现有效的变换叠加。矩阵乘法的不可交换性进一步体现了线性变换的顺序依赖性。

2025-11-25 14:26:26 23

原创 遍历对象的所有成员变量

Python遍历对象成员变量的方法:使用内置的vars()函数可以轻松获取对象的所有属性字典。通过定义一个traverse类,其中静态方法search()利用vars(object).items()遍历对象属性键值对,并打印输出。使用时只需调用traverse.search(目标对象)即可。这种方法简洁高效,适用于需要检查或操作对象内部状态的场景,是Python面向对象编程中常用的反射技术之一。

2025-06-03 19:37:40 131

原创 pycuda 安装过程分享,包括报错:

另外的报错信息: error: command 'D:\\visual_studio_2015\\VC\\BIN\\x86_amd64\\link.exe' failed with exit code 1158。环境启动脚本已经创建:launch_python_cuda_environment.bat(位置:桌面)驱动(通过nvidia-sm 查询):561.17, cuda vision 12.6,将这两个文件复制到:D:\visual_studio_2015\VC\bin。Windows 系统;

2025-05-10 17:07:00 385

原创 比较文心一言和讯飞大模型(基于GPT-3.5)结果的差异

**线路选择**:评事街-升州路-熙南里-万象天地-小西湖-老门东-夫子庙。- **线路选择**:先锋书店(五台山总店)-上海路-陶谷新村-南秀村-金银街-西桥-颐和路。- **线路选择**:德基广场-D9街区-南京1912街区-六朝博物馆-科巷。- **亮点体验**:在老门东可以感受到传统与现代的碰撞,夫子庙区域则可以享受到秦淮河的夜景和丰富的小吃。- **亮点体验**:D9街区和南京1912街区是夜生活的聚集地,适合喜欢探索城市夜生活的游客。- **季节选择**:春秋季节气候宜人,更适合漫步。

2024-07-05 11:32:02 1301

原创 c++,线程thread,join,detach的理解

6.detach方法的作用:将子线程和主线程分离,两者的执行不在有时间上的关系,主线程可以先执行结束进行相关资源的回收,子线程拉出去单独执行;1.thread就是一个类,eg:std::thread h1(func) 这条语句就是实例化一个线程对象h1;2.join,detach就是这个类的成员函数,调用语句如 h1.join(),h1.detach()5.join方法作用:主线程在这里等待,等待子线程执行完之后再接着执行;可能存在的问题是:如果数据相互依赖可能会出问题;4.子线程:被线程调用的线程;

2024-04-27 21:15:27 359

原创 基于vscode的c++单文件编译:undefined reference to `WinMain‘--即编译时找不到主函数问题

3.是否保存了文件(最容易犯,vscode不会自动报错的哦)?2.主函数的名字是否错写成了面?1.看自己是否编译了主函数;评论区告诉我你跳进了哪一个吧。

2024-04-21 20:58:19 367 1

原创 c++11auto的用法(特别是注意事项)

auto的自动类型推断发生在编译期,所以使用auto并不会造成程序运行时效率的降低。是否会造成编译期的时间消耗,我认为是不会的,在未使用auto时,编译器也需要得知右操作数的类型,再与左操作数的类型进行比较,检查是否可以发生相应的转化,是否需要进行隐式类型转换。对于上面的示例,在实际编程中并不推荐,因为不便于他人阅读,直接写出变量的类型会更加的清晰易懂,主要用于代替。(7)如果表达式为数组且auto带上&,则推导类型为数组类型。(6)初始化表达式为数组时,auto关键字推导类型为指针。

2024-04-21 12:32:07 1323 1

原创 指针数组和数组指针 -其实看看两个的定义形式就明白了

]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。因为p是个不可知的表示,只存在p[0]、p[1]、p[2]...p[n-1],而且它们分别是指针变量可以用来存放变量地址。()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。这里int *p[3] 表示一个一维数组内存放着三个指针变量,分别是p[0]、p[1]、p[2]//将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]

2024-04-21 12:23:04 718 1

原创 c++中const 修饰函数

场景3.const 放到最前面;场景2.const 放到整个参数列表前 ->修饰;对于场景1很容易理解:被const修饰的参数,场景1.const 修饰形参;在函数内部不能做改变。

2024-04-21 12:15:59 290 1

原创 理解numpy中reshape 参数为-1的场景;

reshape接口函数只能有一个参数是负数;

2024-04-06 18:35:36 365 1

原创 c++设计模式 ----工厂模式

如果对象B的创建过程比较复杂,并且很多地方都用到了,那么很可能出现很多重复的代码,通过统一将创建对象B的代码放到工厂里面统一管理,可以减少代码的重复率,同时也方便维护。std::cout << "逍遥派的一门内功,威力强大,不着形相,无迹可寻,只要身具此功,可以模仿别人的绝学甚至胜于原版。std::cout << "极其精纯的内功,习得大乘,全身内空完全充盈,有起死回生之效" << std::endl;1)基类(抽象产品类):ISkill为功法的抽象类(基类),接口函数为Description(),

2023-12-23 21:30:53 1895 2

空空如也

空空如也

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

TA关注的人

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