avatar
文章
46
标签
80
分类
5
主页
时间线
标签
分类
友链
关于
图库
语言
  • English
  • 中文
tzyt的博客龙格-库塔法求解常微分方程 返回首页
搜索
主页
时间线
标签
分类
友链
关于
图库
语言
  • English
  • 中文

龙格-库塔法求解常微分方程

发表于2024-06-08|更新于2026-07-23|学习笔记
|总字数:0|阅读时长:1分钟|浏览量:
文章作者: tzyt
文章链接: https://ttzytt.com/2024/06/math_reports/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 tzyt的博客!
2022网络xv6UNIX操作系统驱动
cover of next post
下一篇
从微积分和线性代数的角度理解最小二乘法
之前尝试实现图形学一些论文的时候用到过最小二乘法,不过之前是从微积分的角度理解的。今年学了线性代数的课,发现这个东西也可以用线性代数的概念解释,并且更加直观(有几何角度的理解),所以准备用这篇文章记录一下最小二乘法的两种理解方式。 开始之前先吐槽一下这个东西的名字 “最小二乘”。就感觉很奇怪,最小化误差的平方为什么叫二乘呢?嗯。。。查了一下发现是从日语翻译过来的,那我只能说这个翻译水平是有点高的。。。虽然我很不想用这个迷惑的名字,但是因为都这么用的,那也没办法了。 问题的定义 学习最小二乘法之前先得理解这个算法在尝试解决什么。最小二乘法最常见的用途是用一个函数拟合数据,进而用这个函数来预测数据的趋势。为了拟合数据我们就需要用数学的方法来定义怎样的拟合是好的,然后我们尽量一个函数更好的拟合数据。 这里我们假设有 mmm 个数据点 (xi,yi)  i∈{0,1,⋯ ,m}(x_i, y_i) \ \ i \in \{0, 1, \cdots, m\}(xi​,yi​)  i∈{0,1,⋯,m}。然后有一个函数 f(x)f(x)f(x) 用于拟合这些数据点。我们定义单个点的误差为: ...
相关推荐
cover
2022-08-08
[MIT 6.s081] Xv6 Lab8 Networking 实验记录
upd@2022/9/14:最近把实验的代码放到 github 上了,如果需要参考可以查看这里: https://github.com/ttzytt/xv6-riscv 里面不同的分支就是不同的实验。 Lab8: Networking 这个 lab 的描述属实是长,不过很多的篇幅都在介绍 E1000 网卡。最终的任务其实很简单,就是实现 E1000 网卡驱动中的 transmit() 和 recv() 函数。 这个 lab 的代码不复杂,但写出来需要对 lab 中的提示有很好的理解。同时,也需要查阅 E1000 的文档。 下面先介绍处理器和 E1000 交互的方法,随后再介绍两个函数的具体实现方法。 E1000 的交互方法 E1000 使用了 DMA(direct memory access)技术,可以直接把接收到的数据包写入计算机的内存,这在数据量大的时候非常有用,可以当作缓存。 在发送时也可以把描述符(见下文)写入内存的特定位置,这样 E1000 就会自己去找到待发送的数据,然后发送。 不管是接收还是发送,数据包都是以描述符数组描述的。在下面的接收和发送部分,会分别介绍接收...
cover
2022-08-18
[MIT 6.s081] Xv6 Lab10 File System 实验记录
upd@2022/9/14:最近把实验的代码放到 github 上了,如果需要参考可以查看这里: https://github.com/ttzytt/xv6-riscv 里面不同的分支就是不同的实验。 Lab10: file system Large files 描述 在 xv6 的底层实现中,文件是由 struct dinode 来描述的,如下: 12345678struct dinode { short type; // File type short major; // Major device number (T_DEVICE only) short minor; // Minor device number (T_DEVICE only) short nlink; // Number of links to inode in file system uint size; // Size of file (bytes) uint addrs[NDIREC...
cover
2022-07-10
[MIT 6.s081] Xv6 Lab2 System Calls 实验记录
upd@2022/7/14:添加了 sysinfo 这个 lab,至此为止,lab2 已经全部写完。 upd@2022/9/14:最近把实验的代码放到 github 上了,如果需要参考可以查看这里: https://github.com/ttzytt/xv6-riscv 里面不同的分支就是不同的实验。 Lab2: system calls 系统调用过程 跟名字一样,这个 lab 需要我们往内核里增加两个系统调用。而要增加这些系统调用,我们首先需要了解系统调用的过程。 首先,用户态的系统调用函数被声明(没有实现)在 user/user.h 中。 12345678910111213141516171819202122// system callsint fork(void);int exit(int) __attribute__((noreturn));int wait(int*);int pipe(int*);int write(int, const void*, int);int read(int, void*, int);int close(int);int kill(int...
cover
2022-08-12
[MIT 6.s081] Xv6 Lab9 Lockss 实验记录
upd@2022/8/18: 本文的第二个实验不完全正确,并且还有很多其他的做法,具体可以见这篇博客中我和博主的讨论。以及博主根据讨论新写的代码。 如果接下来有时间,会把第二部分的代码改掉并添加注释。 upd@2022/9/14:最近把实验的代码放到 github 上了,如果需要参考可以查看这里: https://github.com/ttzytt/xv6-riscv 里面不同的分支就是不同的实验。 Lab9: locks Memory allocator 实验描述 这 lab 的描述也是非常长,所以就不截图了。下面描述一下大概的题意: 在原本的 kalloc() 中,只有一个大锁,我们会维护一个 freelist 链表,如果有任何程序申请内存,都需要竞争 freelist 的锁,以修改 freelist 的内容。具体可见 freelist 和 kalloc() 的实现: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253struct ...
cover
2022-07-29
[MIT 6.s081] Xv6 Lab6 COW 实验记录
upd@2022/9/14:最近把实验的代码放到 github 上了,如果需要参考可以查看这里: https://github.com/ttzytt/xv6-riscv 里面不同的分支就是不同的实验。 Lab6: Copy-on-Write Fork for xv6 这个 lab 的描述属实是简洁,其实他主要的描述在前面: The problem The fork() system call in xv6 copies all of the parent process’s user-space memory into the child. If the parent is large, copying can take a long time. Worse, the work is often largely wasted; for example, a fork() followed by exec() in the child will cause the child to discard the copied memory, probably without e...
cover
2022-07-09
[MIT 6.s081] Xv6 Lab1 Util 实验记录
upd@2022/9/14:最近把实验的代码放到 github 上了,如果需要参考可以查看这里: https://github.com/ttzytt/xv6-riscv 里面不同的分支就是不同的实验。 开始之前先吐槽一句,为什么 xv6 源码的码风这么怪啊???函数的返回类型居然跟函数名不在同一行?? 123intmain(int argc, char* argv[]){} 像这样…… 然后就是建议阅读时关闭暗黑模式(右下角齿轮标),因为有些图片上的字是黑的,开了暗黑模式就看不清了。 Lab 1: utils 实验说明地址:https://pdos.csail.mit.edu/6.828/2020/labs/util.html sleep 实现一个 sleep 命令,唯一的参数是休眠的时间。 因为有系统调用,所以实现起来还是比较简单的,可以直接调用提供的 sleep 系统调用。 唯一需要注意的是要在 #include user/user.h 之前先 #include kernel/types.h。这个文件里面包含了一些类型的定义,而 user.h 需要...

评论
avatar
tzyt
文章
46
标签
80
分类
5
洛谷
最新文章
龙格-库塔法求解常微分方程2024-06-08
从微积分和线性代数的角度理解最小二乘法
从微积分和线性代数的角度理解最小二乘法2023-12-08
GAMES101 学习笔记1
GAMES101 学习笔记12023-06-16
USACO23JAN Find and Replace S(洛谷 P9013)题解
USACO23JAN Find and Replace S(洛谷 P9013)题解2023-02-05
[Stanford CS144] Lab4 实验记录
[Stanford CS144] Lab4 实验记录2023-01-30
© 2022 - 2026 By tzyt
搜索
数据加载中