matlab 实用程序片段
来源:互联网 发布:钢琴调音软件 编辑:程序博客网 时间:2024/05/23 22:08
记录一次 shuffle(或者叫 permutation):
n = 10;randorder = randperm(n);
abs(A) == sqrt(A.^2) ⇒ sqrt(A.^2 + 1e-8)
disp(A)
:输出矩阵
1. batch(分块机制)
totnum = 1000;batchsize = 100;numbatch = totnum/batchsize;numdim = 12;testbatchdata = zeros(batchsize, numdim, numbatch); % 三维矩阵保存全部的 batch 信息size(testbatchdata) % 100, 12, 10
按块访问:
for i = 1:numbatch, data(1+(i-1)*batchsize:i*batchsize, :)end
2. 双层循环
for epoch = 1:maxepoches, ... for batch = 1:numbatches, ... endend
3. 统计一行中 0 的个数
>> A = randi([0, 1], 5, 10);>> sum(A == 0, 2)
4. 随机地选择矩阵的某些行或者某些列
% 随机地选择某些行>> A(randi(size(A, 1), k, 1), :)% 随机地选择某些列>> A(:, randi(size(A, 2), 1, k))
5. function(函数)允许传递空参进去
function [] = func(x, y, z)...end
客户端调用时: func(x, [], z)
, 此时在函数 func
的内部将 y
识别为 empty
,而不是不存在,也即 isempty(y) == 1
(注意 func(x, , z)
是不合法的)。
6. 空参空返回值的函数
function [] = checkNumericalGradient()
空参空返回值,虽然保有函数的形式,更像是一段 demo,可直接 F5 运行。
7. 两向量无量纲的距离
diff = norm(numgrad-grad)/norm(numgrad+grad); % 除是为了消除量纲
8. 形成犬牙相错的排列
1 5 2 6 3 7 4
使用 circshift,
n = 7;a = zeros(1, n);for i = 1:n, a(i) = i; a = circshift(a, [0, -1]);enda
此时要求长度必须为奇数,而不能为偶数,当长度为偶数时:
n = 1a = 5 0 6 0 7 0 8 0
0 0
- matlab 实用程序片段
- Python 实用程序片段
- 算法 —— 实用程序片段
- matlab实用程序(一)
- matlab实用程序(二)
- matlab实用程序(三)
- matlab实用程序(四)
- matlab实用程序(五)
- matlab实用程序(六)
- C++ 面向对象 —— 实用程序片段
- MATLAB绘图脚本片段
- 【Matlab】关于Matlab的一些代码片段
- lshw实用程序
- glibc实用程序
- Awk实用程序
- JCL实用程序
- 文件实用程序
- 定位实用程序
- linux 小技巧
- c++杂七杂八的注意点
- C# 两种方法实现HTTP协议迷你服务器
- 关于ViewHolder的终极优化
- [BZOJ3238][Ahoi2013]差异
- matlab 实用程序片段
- PYQT4 UI 线程分离
- android KeyEvent分发
- Web 服务编程,REST 与 SOAP
- DUNS申请
- NSDictionary
- [1.1]第一个Spark应用程序之Java & Scala版 Word Count
- spring+springmvc+mybatis三大框架整合过程遇到最多的问题异常:AbstractMethodError
- 【BZOJ2713】[Violet 2]愚蠢的副官【数位DP】【质因数分解】【枚举】【记忆化搜索】