Matlab 常用语法速记 1
===快捷帮助===
查找帮助:doc 函数名
强制终止: ctrl + c
注释: %
清屏 clc,清临时变量窗口 clear
NaN: not a number
inf: infinite
===创建矩阵===
列向量:vecx = [1 2 3 4]; vecy = [1 2 3]';
矩阵:matA = [11 12 13 14; 21 22 23 24; 31 32 33 34];
下标从“1”开始,matA(2,3) 返回 23;
matA(1,:) 返回第1行向量
matA(2, 1:3)返回第2行的1到3元素构成的向量
matA(2, 2:end)返回第2行的1到最后1个元素构成的向量
==常用函数==
生成(截断的)单位矩阵: eye(3), eye(3,4);
生成[0,1]之间的伪随机数: rand();
生成1:100的随机打乱序列:randIndex = randperm(100);
生成零数组:zeros(2,4)
===矩阵常见操作1===
判断不相等:~
返回矩阵大小: size(A), szie(A, 2)
矩阵乘法 *,逐元素乘 .*
矩阵的逆 inv(matA) 或者 /matA
找出符合条件的元素在矩阵中的位置“数组/向量”: conIndexes = find( matA > 20 && matA < 25); 注意这里返回 conIndexes是 “按列优先”计数的向量;
对这些找出的位置赋值: matA(conIndexes) = 0; matA(conIndexes) = vecx';
按列优先,将矩阵转化为一个长长的列向量: vecA = matA(:);
按列优先,将一个长长的 列 / 行 向量转化为矩阵:matA = reshape(vecA, 3, 4);
reshape(),矩阵的每列都减去同一个列向量: matRes = matA - reshape(vecy, 1, 3);
bsxfun(),自动拓展 行/列向量 以此和操作的矩阵匹配: matRes = bsxfun(@minus, matA, vecy); @add / rdivide / times / ....
==字符操作==
生成一个字符串的cell数组:cellStr = { 'hello', 'my', 'world'}; 取出字符 str1 = cellStr{1};
字符串拼接: conStr = [ 'you', 'are', str1, 'heart' ];
比较字符串是否相等:strcmp(cellStr{2}, 'mine') ,相等则返回 1
打印 fprintf('%s %s %s: %ith cross\n', algorithm{alg}, type{tp}, data{k}, i);
replace字符串中的特定字符: strrep(cellStr{2}, 'm', 'happ');
数字直接转化为字符:num2str()
fprintf() = sprintf() + disp(),比如:strp = sprintf('圆周率 pi = %8.5f \n', pi); disp(strp); fprintf('圆周率 pi = %8.5f \n', pi);
==文件及路径==
创建路径: fileFolder = [ './exp_result/', algorithms{3}, '_result/' ];
如果上面路径不存在,则创建它
if ~exist(fileFolder)
mkdir(fileFolder)
end
移动到指定文件夹: cd('./ml_metrics/'); ...; cd('../');
==其他常用函数==
将指定的字符串变量作为命令来执行: eval( [ cellStr{2}, 'Mat = 1;'] );
将一些变量保存为指定路径下的 .mat: save( ['./', cellStr{1}, '.mat'], 字符串变量名1,..., 字符串变量名n,[-append]); 如果已存在该.mat文件,不加-append会将擦除
===流控制语句===
if 条件
xxx;
elseif/else
xxx;
end
for i=1:10
xxx;
end
while i>0
xxx
end
switch 变量
case 常量1
语句序列1;
........
case 常量n
语句序列n;
otherwise
语句序列;
end
==函数定义==
function [retX, retY] = getSomething(inputX, inputY)
xxx;
end
函数调用时真正调用的是函数文件名,而不是文件中函数的名字
Matlab 常用语法速记 1的更多相关文章
- matlab 常用函数
Matlab常用函数 Matlab的内部常数 eps 浮点相对精度 pi 圆周率 exp 自然对数的底数e i 或j 虚数单位 Inf或 inf 无穷大 Matlab概率密度函数 ...
- matlab常用的一些程序和功能
~ 去除误匹配算法(matlab) 1.ransac算法 [tform,matchedPoints1,matchedPoints2] = ... estimateGeometricTransfo ...
- matlab基本语法
MATLAB基本语法 点乘运算 , 常与其他运算符 点乘运算,常与其他运算符联合使用(如.\) 矩阵生成 矩阵生成 向量生成或子阵提取本节将会介绍一些MATLAB的基本语法的使用. 持续更新... 在 ...
- Markdown通用的常用语法说明
前言 Markdown 是一种轻量级的 标记语言,语法简洁明了.学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用. Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表 ...
- Markdown简介以及常用语法
Markdown简介以及常用语法 最近发现用markdown记录东西很方便,感觉和emacs的org mode很类似,但是windows下使用emacs不是很方便.特此记录一下markdown常用的语 ...
- Sql常用语法以及名词解释
Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...
- Markdown常用语法
什么是Markdown Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文档. 通过Markdown简单的语法,就可以使普通文本内容具有 ...
- 2 hive的使用 + hive的常用语法
本博文的主要内容有: .hive的常用语法 .内部表 .外部表 .内部表,被drop掉,会发生什么? .外部表,被drop掉,会发生什么? .内部表和外部表的,保存的路径在哪? .用于创建一些临时表存 ...
- sql 常用语法汇总
Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...
随机推荐
- PMP | 备考笔记
(持续更新......) 五大过程组和十大知识领域是PMP的重要组成部分,也是这门课的重点线索,本文会逐步迭代.渐进明细的来补充完善这个体系. (先放个图吧) 以下每个模块记录自己有点模糊的地方 项目 ...
- ATT&CK如何落地到安全产品
科普:ATT&CK是什么 ATT&CK的提出是为了解决业界对黑客行为.事件的描述不一致.不直观的问题,换句话说它解决了描述黑客行为 (TTP) 的语言和词库,将描述黑客攻击的语言统一化 ...
- 新手福利!Blazor 从入门到砖家系列教程(你真的可以成为砖家)
注意 作为 Blazor 新手的你(不是新手就当没看到这句话),请一定走完本教程再去上手其他组件库 标题跟你开个玩笑,你真的可以通过这个系列教程成为专家! 深入浅出,我翻译过程中都学到了很多. 我们不 ...
- prometheus配置pushgateway功能测试
一.环境: 1.prometheus服务器ip:192.168.0.208 2.node-exporter客户机ip:192.168.0.202 二.测试设计考虑: pushgateway类似一台信息 ...
- JavaScript 引用数据类型
目录 1. 问题描述 2. 原因分析 3. React 中的引用数据类型 4. 业务场景 5. 参考资料 1. 问题描述 今天在写一个代码题时候, 有一个BUG 导致自己停滞好久, 该BUG 可以描述 ...
- 跨域解决方案 - node 转发
目录 1. 定义 2. 代理转发 3. node 转发解决跨域问题 4. 代码演示 5. 参考地址 1. 定义 当用户需要请求数据时, 用户向前端服务器发送请求, 然后前端服务器接收请求之后向后端服务 ...
- SpringSecurity(1)---认证+授权代码实现
认证+授权代码实现 Spring Security是 一种基于 Spring AOP 和 Servlet 过滤器的安全框架.它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和 ...
- Java并发编程 (十) 多线程并发拓展
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.死锁 1.死锁的定义 所谓的死锁是指两个或两个以上的线程在等待执行的过程中,因为竞争资源而造成的一种 ...
- (Java实现) 洛谷 P1106 删数问题
题目描述 键盘输入一个高精度的正整数NN(不超过250250位) ,去掉其中任意kk个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的NN和kk,寻找一种方案使得剩下的数字组成的新数最小 ...
- Java实现 LeetCode 600 不含连续1的非负整数(有些题为了避免使用位运算可以换成动态规划)
600. 不含连续1的非负整数 给定一个正整数 n,找出小于或等于 n 的非负整数中,其二进制表示不包含 连续的1 的个数. 示例 1: 输入: 5 输出: 5 解释: 下面是带有相应二进制表示的非负 ...