我很快就会有一些新的学生,他们将编写 MATLAB 代码。他们是 MATLAB 的新手,但他们有 Java 和 C ++ 的编码经验。
我将让他们通过 MATLAB 帮助的Getting Started部分。此外,我想提供一个小教程,目的是防止他们在切换到 MATLAB 时犯下一些最常见的错误(例如“MATLAB 从 1 开始计数”),并向他们展示一些他们可能不知道的功能来自其他语言时(例如“您可以直接从数组中减去标量,对于 fun vector,”)。
我应该告诉他们的最重要的事情是什么?
我同意以前的答案,但我会说索引是研究 MATLAB 的第一个也是最重要和最复杂的概念。我看到许多 C 程序员从 MATLAB 开始只是写循环,很多循环,像
for i=1:10
a(i)=i;
end
而不是简单的a=1:10;
。
所以我建议他们阅读矩阵编程概念:
如何创建简单的向量和矩阵
哪些变量可用于索引
如何创建和应用索引
逻辑运算和函数,逻辑和数字索引(查找函数)
为表达式的右侧和左侧编制索引
索引数值矩阵和元胞数组的区别
如何使用索引作为不同函数的输出,如排序,唯一,ismember 等。
不能将索引应用于中间结果
至于生产力,我会补充说,知道如何使用编辑器的单元格模式是非常有用的。
足够的 snippy 评论,这里也是一个答案:
Matlab 桌面:所有窗口的用途,将代码从历史记录拖回命令窗口,变量检查器等。
绘图:不只是绘图命令,而是如何使用绘图 GUI 工具,以及如何从图形创建 M 文件。
脚本和函数的 M 文件,以及它们之间的主要区别。
M-Lint,探查器。
使用 Matlab 作为教学浮点运算的危险和陷阱的工具。
获取帮助:在命令行,在 Web 上,文档,文件交换,...
设置路径和当前工作目录。
从文件导入数据,将数据导出到文件,加载和保存。
这应该足以让他们忙碌一个小时左右。
为了澄清,我提出这些主题来帮助你教你的学生避免常见的 Matlab 错误,包括;
该工具的使用效率低下,重新键入可以从历史记录中轻松调用的命令,使用 C(或 Java)样式的文件读取命令而不是 uuimport,在 Matlab 可以为您完成时缓慢键入脚本以绘制图形,想知道编辑器中的所有小橙色线右边距的意思和弯曲的下划线,试图在帮助设施可以告诉他们时自己解决问题,还有很多其他经验的 Matlab 用户已经花费了很长时间来学习。
浮点算术不是真实的。
可能还有很多其他的东西。
对于那些来自 C-family 语言的人来说,element-wise 运算符是新的。我花了几个月才发现./
和.*
运算符。在此之前,我曾经为元素操作编写 for 循环。所以也许这是应该指出的。
关于可能导致它们混淆的意外或非直观的 MATLAB 功能,这个问题有一些很好的指针:
Corner Cases,Unexpected and Unusual MATLAB关于很酷的节省时间 / 效率技巧,这个问题有一些很好的例子:
What are your favourite MATLAB/Octave programming tricks?对于一些潜在的更高级的主题,你可以参考这个问题的答案:
MATLAB interview questions?现在我的 $0.02 基于我见过的最经常问 SO 的问题,我会说你会想确保他们对以下概念有很好的理解:
读取和写入不同格式的数据文件,例如使用CSVREAD、DLMREAD、TEXTREAD、FREAD、FSCANF、LOAD及其所有写入等效项。
如何有效地处理cell arrays。
different image formats,这些是如何表示的,以及如何修改它们(这将涉及various data types的讨论以及如何处理multi-dimensional arrays)。
如何使用handle graphics控制各种图形对象的外观。
这里有一些已经在 MATLAB 中实现的简洁功能,可以节省一些时间和精力:
用于执行各种array operations的函数,如KRON、DIAG和TRIU。
创建specialized matrices的函数,如HANKEL和TOEPLITZ。
Predefined dialog boxes,likeUIGETFILEandINPUTDLG.本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(8条)