matlab用法总结
1. Matlab怎么判断空矩阵http://www.ilovematlab.cn/thread-48915-1-1.html
a=[ ]
if isempty(a)
2.matlab寻找多个最大值位置http://zhidao.baidu.com/link?url=6zNKvA9qfvbKVCu3eC8032XVEqvULhVhxIb162EA2pOB2jBPmw6eYS9uuOSNLy-aMoU9odWX_wEVBsOQiVp9G_
a=[2,4,3,5,2,3,5;2,3,4,7,5,4,7];
m=max(a(1,:));
index=find(a(1,:)==m);
max_array=a(1,index);
3. [求助] Matlab怎么求一个二维矩阵中某一个行向量的位置 http://www.ilovematlab.cn/thread-67557-1-1.html
比如有矩阵A=[ 1 1 1;
2 2 2;
3 3 3;
4 4 4;]
行向量B=[3 3 3]
则: B在A的第 3 行
A=[ 1 1 1;
2 2 2
3 3 3
4 4 4];
B=[3 3 3];
find(ismember(A,B,'rows'))
或:[ind,loc] = ismember(A,B,'rows');
a = {'A','B','A','C','D'};
b = {'A'};
[c1,c2] = ismember(b,a)
请问,假如a很长,而我不知道a里面有几个'A呢?'
a = {'A','B','A','C','D'};
b = {'A'};
n = 1:length(a);
c = arrayfun(@(x) ismember(b,a(x)),n);
c = n(c)
c = 1 3
4.matlab如何绘制三维曲面图http://jingyan.baidu.com/article/2f9b480db303ec41cb6cc20c.html
xa = -2:0.2:2;
ya = xa;
[x,y] = meshgrid(xa,ya); % calculate z data
z = x.*exp(-x.^2 - y.^2);
mesh(x,y,z);
figure;
surf(X,Y,Z)
reshape函数重新调整矩阵的行数、列数、维数
close all; clear; clc;
A = [1 2 3; 4 5 6; 7 8 9; 10 11 12] % 4 by 3
B = reshape(A, 2, 6) % 2 by 6
% C = reshape(A, 2, 4) % error
% D = reshape(A, 2, 10) % error
E = reshape(A, 2, 3, 2) % 2 by 3 by 2
注意:reshape函数对原数组的抽取是按照列抽取的(对原数组按列抽取,抽取的元素填充为新数组的列)
运行结果:
A =
1 2 3
4 5 6
7 8 9
10 11 12
B =
1 7 2 8 3 9
4 10 5 11 6 12
E(:,:,1) =
1 7 2
4 10 5
E(:,:,2) =
8 3 9
11 6 12
6.如何利用matlab在球面上随机生成点http://www.ilovematlab.cn/thread-285173-1-1.html
[x,y,z] = sphere(99);
figure
mesh(x,y,z)
index1 = sort(floor((100*rand(1,10)+1)));
index2 = sort(floor((100*rand(1,10)+1)));
figure
x = x(index1,index2);
y = y(index1,index2);
z = z(index1,index2);
mesh(x,y,z)
7.Converting from Cartesian to Spherical matlab? http://stackoverflow.com/questions/21214098/converting-from-cartesian-to-spherical-matlab
8.matlab 中如何将NxN维矩阵保存进txt 文件 http://zhidao.baidu.com/link?url=wi4kNGiq_oq4pRB1GOpS5WeibQFQdawpKfyn-nUqawRFJhLLewkR3Snx4OmvN-tyEAXCCYZCOfvTjGfPOdAjMq
save A.txt A -ascii -double 只能是nxn 的,多维报错
A=load('A.txt', 'ascii'),只能是数值型,字符型报错
字符型可以用importdata存为cell,再用cell2mat转为char型数组
fileDir=importdata('fileDir.txt');
fileDir=cell2mat(fileDir);
9. MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)
http://blog.csdn.net/lsg32/article/details/8362723
http://www.cnblogs.com/xianghang123/archive/2011/12/06/2277602.html
普通数值空格隔开的可以用
A=load('A.txt', 'ascii')
文本的可以用
D = importdata('sample_file2.txt')
10.Matlab批量读取一个文件夹里的txt文件
http://blog.csdn.net/flyingworm_eley/article/details/6644970
比如说在E:\new下有一系列txt文件,文件名符合matlab变量名的命名规则,并且没有temp.txt文件,每个文件有两列,以空格分割,第一列是字符串,第二列是浮点数字,要读取第二列的浮点数字为数组并以文件名为变量名。
file=dir('E:\new\*.txt');
for n=1:length(file)
temp=dlmread(['E:\new\',file(n).name],' ',0,1);
eval([file(n).name(1:end-4),'=temp;'])
end
fileDir='C:\Users\Desktop\test\';
file=dir(fileDir);
for n=1:length(file)
filename=file(n).name
%过滤掉特殊文件
if(strcmp(filename,'.')||strcmp(filename,'..'))
continue;
end %判断是否是文件夹,是的话查看下一文件(夹)名
tp=[fileDir,filename];
if(isdir(tp))
continue;
end
end
11.matlab创建文件夹
http://jingyan.baidu.com/article/456c463b61993f0a5931444b.html
new_folder = 'C:/test'; % new_folder 保存要创建的文件夹,是绝对路径+文件夹名称
mkdir(new_folder); % mkdir()函数创建文件夹
12.关于Matlab字符串数组char array的赋值补充空格的问题
http://www.ilovematlab.cn/thread-259837-1-1.html
%a是一个字符串数组 初始化如下
a(1,1:length('bob'))='bob';
a(2,1:length('ryan '))='ryan ';
a(3,1:length('richard'))='richard';
13.matlab界面把怎么保存txt文件到指定路径
fid=fopen(fpath,'wt');%%%%用它就可以写啦
14.Matlab中如何判断某文件夹下的某个文件是否存在
http://blog.163.com/jiaqiang_wang/blog/static/11889615320121176322418/
infoldername = 'E:/TLD_Tracking/zk00006-OpenTLD-8a6934d/00057_002_jpg/'; infilename = [infoldername, 'image.jpg']; % 文件的路径 sgc_exist = exist(infilename, 'file');
15.Matlab 命令窗口的"<<"前出现了一个字母K,这是怎么回事?
16.matlab从文件夹名中获得该文件夹下所图像文件名
http://www.linuxidc.com/Linux/2013-03/81810.htm
function [s,nameC]=get_FileNameFromFolderPath(path)
% 函数调用:[s,nameC]=get_FileNameFromFolderPath(path)
% 函数功能:从文件夹名中获得该文件夹下所图像文件名
% 函数输入:path 为文件夹路径
% 函数输出:s 表示状态,当为0时表示正确
% nameC 表示获得的图像名的胞体cell
% 函数历史:v0.0 @2013-01-27 created by Aborn cmd = sprintf('dir %s /B >%snamelist.txt',path,path); % 获得当前concept的所有图像的文件名
[s,r]=dos(cmd); fileName = sprintf('%snamelist.txt',path);
fileID = fopen(fileName);
C = textscan(fileID,'%s');
fclose(fileID); nameAll = C{1,1}; order = 1;
nameC = {};
for i=1:size(nameAll,1)
if strcmp(nameAll{i,1}(1,end-3:end),'.jpg')==1 % 找到'.jpg'文件名
nameC{order,1} = nameAll{i,1};
order = order + 1;
end
end
17.matlab 如何获取文件名 [转] 和 拷贝文件/matlab中哪个函数提取文件路径和名称
http://blog.sina.com.cn/s/blog_61c41eb80100vnt7.html
http://blog.csdn.net/yangyangyang20092010/article/details/42407551
18.matlab中文件的复制
http://blog.sina.com.cn/s/blog_a6be7fa20101a34h.html
function copy
% 从father目录中复制指定类型的文件到目录s中
father='H:\前期测试\3\'; %指定类型的文件所在的目录
s='H:\前期测试\3.3\'; %复制文件的目标目录
subDir=dir(father); %求目录的子目录
len = length(subDir); %求子目录的长度
disp('begin copy files..');
for i=3:len
imgNames = dir(strcat(father,subDir(i).name,'\','*.JPEG'));
a=[s,subDir(i).name,'\'];
mkdir([s,subDir(i).name])
for j=1:20 %复制的文件个数
copyfile([father,subDir(i).name,'\',imgNames(j).name],a);
end
end
disp('end');
end
19.数字位数补齐 比如1 补成3位001 10补成010 如何实现
http://www.ilovematlab.cn/thread-206419-1-1.html
http://zhidao.baidu.com/link?url=flV0mNrtN2GcpDLqj3aM6sS8mp5bGqTg2M1IUzCx0uLUKiLBiDLNEeUNjlIi3dWDc7yhxlzQdP88ri12jP8VYZeLWxa4SrnB9Rkumj8jhR3
image = cell(19, 1);
for k = 0:18
str = sprintf('%03i.bmp', k);
image{k+1} = imread(str);
end
20.Matlab中怎样循环处理并将每次结果以循环次数命名保存
http://zhidao.baidu.com/link?url=4ccQwjzabg--ki0nXKykg_Anndo2sLCcixYkKIyWpMTtWa16OkdNnrnLMjn2Gg-LMJIqGf4Y7qm3ZBpy32xy3_
for i=1:128
img = dicomread('tomo.dcm', 'frames', i);
dicomwrite(img, '[int2str(i) '.dcm']')
end
21.matlab 指定的行列交换 http://blog.csdn.net/lsg32/article/details/8560740
a = rand(3,3)
a =
0.7577 0.6555 0.0318
0.7431 0.1712 0.2769
0.3922 0.7060 0.0462 >> a(:,[1,3])=a(:,[3,1])
a =
0.0318 0.6555 0.7577
0.2769 0.1712 0.7431
0.0462 0.7060 0.3922 上面是将a的第1列与第3列互换 下面是将上面的a的第1行与第3行互换 >> a([1,3],:) = a([3,1],:)
a =
0.0462 0.7060 0.3922
0.2769 0.1712 0.7431
0.0318 0.6555 0.7577
22.matlab中怎样将uint8转化成double型
a=randint(,,[ ])%产生5行10列1-300的整数
b=uint8(a)%将a其转化成uint8
d=double(b)%将b其转化成double
23.在matlab中写入ASCII文件Write matrix to ASCII-delimited file
save *.txt x -ascii
或者
http://blog.sina.com.cn/s/blog_735978da01011c9d.html
http://blog.sina.com.cn/s/blog_5e73a8fc01013fob.html
http://blog.sina.com.cn/s/blog_6f58e33d010142qo.html
dlmwrite(filename, M)
dlmwrite(filename, M, 'D')
dlmwrite(filename, M, 'D', R, C)
dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2, ...)
dlmwrite(filename, M, '-append')
dlmwrite(filename, M, '-append', attribute-value list)
dlmwrite('myfile.txt', M, 'delimiter', '\t', 'precision', 6)
type myfile.txt
0.893898 0.284409 0.582792 0.432907
0.199138 0.469224 0.423496 0.22595
0.298723 0.0647811 0.515512 0.579807
0.661443 0.988335 0.333951 0.760365
24.Matlab函数sortrows:按升序排列行
http://www.aiseminar.cn/bbs/thread-494-1-1.html
B = sortrows(A)
B = sortrows(A, column)
第一种和第二种用法的区别在于,sortrows(A)将类似按照字典序排列,而指定了column时,各行只根据指定列为标准来排序,不考虑其他列的顺序问题。
[B, index] = sortrows(A)
这一用法同时返回一个索引向量。如果A是一个列向量,则B = A(index);如果A是一个m*n的数组,则B = A(index, :)。
A = magic(3)
B = sortrows(A)
C = sortrows(A)
[D, I] = sortrows(A)
运行结果如下:
A =
8 1 6
3 5 7
4 9 2 B =
3 5 7
4 9 2
8 1 6 C =
3 5 7
4 9 2
8 1 6 D =
3 5 7
4 9 2
8 1 6 I =
2
3
1
25.matlab中sort函数的用法
http://blog.csdn.net/anqier1009/article/details/5213862
http://blog.sina.com.cn/s/blog_4762d68501011nl5.html
可以用sort将参量中的元素按升序或降序排列。
B = sort(A) %沿着输入参量 A的不同维的方向、从小到大重新排列 A中的元素。A 可以是字符串的、实数的、复数的单元数组。对于 A 中完全相同的元素,则按它们在 A 中的先后位置排列在一块;若 A 为复数的,则按元素幅值的从小到大排列,若有幅值相同的复数元素,则再按它们在区间[-π ,π ]的幅角从小到大排列;若 A 中有元素为NaN,则将它们排到最后。若 A为向量,则返回从小到大的向量,若A为二维矩阵,则按列的方向进行排列;若A为多维数组,sort(A)把沿着第一非单元集的元素像向量一样进行处理。
B=sort(A,dim) %沿着矩阵A中指定维数dim方向重新排列A中的元素。
[B,IX]=sort(A); %其中IX是一个大小等于size(A)的数组,其每一列是A中列向量的元素相对应的置换位置记号。
A = [ 3 3 5
0 4 2 ]; sort(A,1) %纵向排列 ans = 0 3 2
3 4 5 sort(A,2) %横向排列 ans = 3 3 5
0 2 4 A = [-1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i];
[B1,INDEX] = sort(A) 计算结果为:
B1 =
Columns 1 through 4
-0.2000 -1.9000 3.1416 2.4000 + 3.6000i
Columns 5 through 6
5.6000 7.0000
INDEX =
2 1 3 6 4 5
26.
matlab用法总结的更多相关文章
- psnr的定义和python实现
psnr是“Peak Signal to Noise Ratio”的缩写,即峰值信噪比,是一种评价图像的客观标准,它具有局限性,一般是用于最大值信号和背景噪音之间的一个工程项目. peak的中文意思是 ...
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
- imadjust从用法到原理—Matlab灰度变换函数之一
imadjust从用法到原理-Matlab灰度变换函数之一 转摘网址:http://blog.sina.com.cn/s/blog_14d1511ee0102ww6s.html imadjust函数是 ...
- Matlab神经网络函数newff()新旧用法差异
摘要 在Matlab R2010a版中,如果要创建一个具有两个隐含层.且神经元数分别为5.3的前向BP网络,使用旧的语法可以这样写: net1 = newff(minmax(P), [5 3 1]); ...
- matlab fscanf用法
matlab fscanf用法 matlab中的fscanf的用法如下: A=fscanf(fid,format)[A, count]=fscanf(fid,format,size) [A, coun ...
- matlab的legend用法
用Matlab画图时,有时候需要对各种图标进行标注,例如,用“+”代表A的运动情况,“*”代表B的运动情况. legend函数的基本用法是: LEGEND(string1,string2,string ...
- Matlab中tic和toc用法
简单地说,tic和toc是用来记录matlab命令执行的时间 tic用来保存当前时间,而后使用toc来记录程序完成时间. 两者往往结合使用,用法如下: tic operations toc 显示时间单 ...
- Matlab中Rand()函数用法
一.理论准备 matlab函数randn:产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数. 用法:Y = randn(n),返回一个n*n的随机项的矩阵.如果n不是 ...
- matlab中 hold on 与hold off的用法
matlab中 hold on 与hold off的用法 hold on 是当前轴及图形保持而不被刷新,准备接受此后将绘制 hold off 使当前轴及图形不在具备被刷新的性质 hold on 和ho ...
随机推荐
- jetty9优化的两处地方
http://www.cnblogs.com/LBSer/p/3637387.html jetty 9两个优化: https://webtide.intalio.com/2013/01/jetty-9 ...
- Nodejs学习笔记(十四)—Mongoose介绍和入门
简介 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具 那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:ht ...
- 移动设备的HTML页面中图片实现滚动加载
如今移动互联网风靡全球,移动页面的元素也是丰富多彩,一个移动页面的图片超过10张已经是再正常不过的事情了.但是相对,很多移动用户还停留在2G,3G这样的网络中.那么这样带宽的用户,在浏览这样的页面时, ...
- redis集群与分片(1)-redis服务器集群、客户端分片
下面是来自知乎大神的一段说明,个人觉得非常清晰,就收藏了. 为什么集群? 通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取.Redis是一个很好的Cache工具.大型 ...
- 基于Java的简易表达式解析工具(二)
之前简单的介绍了这个基于Java表达式解析工具,现在把代码分享给大家,希望帮助到有需要的人们,这个分享代码中依赖了一些其他的类,这些类大家可以根据自己的情况进行导入,无非就是写字符串处理工具类,日期处 ...
- Windows 安装 MySQL 5.7.18
1. 在MySQL官网 http://dev.mysql.com/downloads/mysql/ 上面下载ZIP安装包(第二个:Windows (x86, 64-bit), ZIP Archive) ...
- Dev中自带添加、编辑、删除等按钮的文字颜色等修改
下面是ASPxGridView的自带按钮的文字等修改 <SettingsCommandButton> <NewButton Text=" " Image-Tool ...
- 自定义提醒视图Alert-动态绘制
1. .h文件 #import <UIKit/UIKit.h> #define Wi [[UIScreen mainScreen]bounds].size.width #define He ...
- winform:对dataGridView绑定的泛型List<T> 的简单CRUD
创建对象类,为所有成员封装字段,然后重载该类: 根据已有的对象类(类型参数)创建一个长度可以变化的List数组,并绑定数据源: 设置dataGridView的column属性:对应四个对象类创建相 ...
- mybatis循环生成前后缀:mapper.xml的<trim></trim>
*在mapper.xml中<trim prefix="(" suffix=")" suffixOverrides="," prefix ...