MatLab基础操作 1 基本操作与矩阵运算 MatLab界面由当前文件夹、命令行窗口、工作区和详细信息组成。 如果缺少某部分,可以遵循如下步骤:主页->环境->布局->将需要的部分调整出来。 计算器 运算符:+ – * / ^ 结果显示为ans。 运算规则:从左到右优先级:括号^* /+ – 寻找固定函数的使用方法:右上角搜索框搜索sincommand line window输入help sin 嵌入式函数 在比较长的表达式中,可以将表达式中的一部分存储到一个变量中。 变量 变量在赋值前不需要声明。 命名规则:大小写区分变量名不能以数字开头 双击变量即可进入变量的变量空间。 command line window: who whos 看到变量的详细情况。 特殊变量和常数 ansi, j:复数Inf:∞eps:2.2204e-016NaN:not a numberpi 那些字是keyword,我们不能用来作为变量名? iskeyword Matlab调用优先级 variablebuilt-in functionsubfunctionprivate functionmex-filep-filem-file 当我们给cos赋值,cos将会变成一个变量,而不再是内置函数。 不要把keyword和build-in function作为变量名 Format short:小数点后4个字符long:小数点后15个字符shortE:小数点后4个字符+科学计数法longE:小数点后15个字符+科学计数法bank:小数点后2个字符+货币格式hex:16进制rat:分数形式 Command line terminal 分号表示不显示运算结果。 方向键↑可以找出之前的指令。 Some functions clc:清楚command window中的显示clear:移除workspace中的所有变量who:在workspace中的变量whos:workspace中的变量信息 Array(Vector and Matrix) row vector: a = [1 2 3] column vector: b = [1;2;3] 矩阵乘法: 矩阵输入: Array Indexing 替换某一个素 冒号运算符 创建等差数列 j:k j:i:k Array合并 Array运算 特殊矩阵 linspace(): 线性向量eye(n): nxn identity matrixzeros(n1, n2): n1xn2 zero matrixones(n1, n2): n1xn2 全部为1的matrixdiag(): 对角矩阵rand(): uniform分布 矩阵相关函数 2 结构化程序与自定义函数 脚本结构化变成自定义函数 脚本 包含一系列命令更像C语言脚本存为.m文件 常用功能:fx:寻找函数commentsmart indent%% 区块 可以逐块运行断点 Flow Control if, elseif, else 判断一个数字的奇偶性: for 输出一个10个数的向量,按顺序排列
: switch, case, otherwise 判断数字是-1或者0或者1或者其他值: try, catchwhile 例子: 例子:计算1到999的和: break 结束循环的执行 机器学习中,在损失函数小于指定值后,模型已经收敛,可以设定条件从循环中跳出。continueend:终止,最后一行索引pausereturn 操作符 ~= 不等于&& and|| or 预先为变量分配空间 预先分配内存,可以提高程序运行效率~ 使用tic toc来计算程序运行时间~ 练习: 使用结构化编程:复制A到B,使用逐素拷贝的方式如果A的素是负数,改变B中对应位置的值为正 Tips 脚本开始前:clear all: 移除当前变量close all: 关闭所有图表clc: 清楚command window中的内容使用分号,不将结果显示在command window中使用…,可以将一行代码分成若干行,更具可读性Ctrl+C终止脚本运行 Scripts VS Functions 共同点:都是.m文件我们可以随时调用函数,而不需要把程序打开;脚本必须打开才能运行脚本函数无输入参数有输入参数无输出参数有输出参数其中数据是全局变量其中数据是局部变量 MatLab中的内建函数 打开mean函数: 打开mean.m: 自定义函数 自由落体函数:
命令行输入: .*的作用是可以计算多个值 多个输入和输出的函数 计算物体加速度和受力情况:
命令行输入: 练习:写一个华氏温度和摄氏温度转换的函数输入华氏温度,输出摄氏温度输入空值,输出”请输入数字”输入q,结束 命令行输入: 函数默认变量
匿名函数 创建匿名函数: function handle是一个指针。指向表达式:
3 变量和数据访问 变量:string, structure, cell数据访问 数据类型 多维数组numeric 数值double 默认singleuint 8 16 32 64int 8 16 32 64logicaltrue falsecharcellstruct标量function handle @ 变量类型转换
Character(char) 在ASCII中表示,使用数字代码0-255将字符或字符串放入单引号中
String 字符组成数组字符串合成 字符串逻辑运算和赋值 练习: s1 = ‘I like the letter E’ -> s2 = ‘E rettel eht ekil I’ Structure NBA player.name -> Kobe Bryant .id -> 1996-13.number -> 24.points -> [7.6 15.4 19.9 22.5 28.5 25.2 30.0 24.0 27.6 35.4]可以存储多种类型数据.name .id 称为fields 加入第二个struct:
Nesting Structures struct之中包含struct。
Cell Array 存储多级别数据的另一种方式和矩阵类似,但是每个素可以包含不同类型的数据使用{}声明
为什么cell array每个素的数据类型可以都不一样?每一个cell array中的素对应一个指针,指向一种数据结构相同cell array的不同cells能指向不同类型的数据结构 访问cell array
cell和struct可以相互转换。 如何将matrix转换为cell。 使用num2cell和mat2cell: 多维数组
创建一个三维数组: Array组合 cat() 将数组按照指定的行数和列数进行转换 检查变量
访问文件 work space中的变量和file system中的文件相互转换 支持的文件格式: 使用load()和save()保存或读取Matlab格式数据和文本; 使用xlsread()和xlswrite()保存或读取Excel格式文件数据。 work space中的所有数据保存为.mat文件: 从文件中读取数据: Excel文件读取和存储
求每个人成绩的平均值和方差: Excel中的文本 上述读取Excel会把文本信息自动过滤,只保留文本。文本和数字 将文本和数字都写入Excel 文件输入/输出 在byte或字符级别读取和写文件一个文件有ID fid文件中的位置通过指针指定
permission: r r+ w w+ a a+ 通过Formatted I/O读写 读: 写: format:%-12.5e 12宽度 5精度
练习:将sin(x)值写入文件Matlab生成x和y打开一个文件将x和y写入文件关闭文件
从文件中读取 文件的末尾: 读取txt文件:
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/24175.html