Matlab %叁
###本章内容十分多
第三章:Variables and Data access
Data Types
numeric:double、single、int8(16、32、64bit[integer])、uint8(16、32、64bit[unsigned])
double转成integer:
A = 20; %double
B = intB(A) %double -->int
Character(char):记录一个字源
s1 = 'h'; %H
whos;
unit16(s1); %转为ASCLL码
String:字串
s1 = 'Example'
s2 = 'String'
s3 = [s1 s2]; %[]是concatenation;左右组合,中间的space仅仅是吧两个变量分开,并不output
s4 = [s1;s2]; %上下组合,字节大小要相同,即字数相同
Strcmp:比较字符串
TF = strcmp(s1,s2)
%比较s1与s2,如果二者相同,则返回1,反之0.文本大小与内容相同视为相等
Logical Operations
str = 'aardbark';
'a' == str %判断这个数组中a的存在
str(str == 'a') = 'Z' %替换str中a为Z
Structure结构体
student.name = 'Li Tianqi';
student.id = '741495222@qq.com';
student.number = 3200812015;
stduent.grade = [100, 100, 199;...
95, 95, 92;...
100, 222, 34];
student
%如果要输入第二个student,只需要将student改为student(2);
%可以使用student(3).grade(3)来output 100;
%field储存数据
Structure Functions
cell2struct%将单元格数组转换为结构体数组
fieldnames%寻找field里的string目录
getfield
isfield
isstruct
orderfields
rmfield%删除一个分支
setfield
struct%创造一个结构矩阵
struct2cell
structfun
%具体用法自行查询
Nesting Structures(链表套娃XD)
A = struct('data', [3 4 7; 8 0 1], 'nest',...
struct('testnum','Test 1', ...
'xdata', [4 2 8], 'ydata', [7 1 6])); %变量名紧跟内容
A(2).data = [9 3 2; 7 6 5];
A(2).nest.testnum = 'Test 2'; %一个struct的不同内容
A(2).nest.xdata = [3 4 2]; %同上,并且这三条记录在一个目录下的不同struct上
A(2).nest.ydata = [5 0 9]; %不同的定义方式
Cell Array(储存阵列;矩阵套娃;使用{})
A(1,1) = {[1 4 3; 0 5 8; 7 2 9]};
A(1,2) = {'Anne Smith'};
A(2,1) = {3+7i};
A(2,2) = {-pi:pi:pi};
……
%另一种定义方式
A{1,1} = [1 4 3; 0 5 8; 7 2 9];
A{1,2} = 'Anne Smith';
A{2,1} = 3+7i;
A{2,2} = -pi:pi:pi;
……
Accessing Cell Array
A(1,1) %pointer,仅仅查询1,1位置的东西是什么
A{1,1} %查询(1,1)位置的元素
Cell Array Functions
cell
cell2mat
cell2struct
celldisp
cellfun
cellplot
cellstr
iscell
mat2cell %将矩阵每一组元素变成单独的矩阵
num2cell %将矩阵每一个元素变成单独的矩阵
EG:
a = magic(3);
b = num2cell(a);
c = mat2cell(a,[1 1 1], 3) %[1 1 1]是行,3是列
struct2cell
Multidimensional Array(多维矩阵)
cat() %将两个东西接起来
A = [1 2; 3 4];
B = [5 6; 7 8];
C = cat(1,A,B); %row--行排序
C = cat(2,A,B); %column--列排序
C = cat(3,A,B); %layer--层排序
%维数的比较容易理解的表示方法
reshape()
%改变形状,条件是row1*column1 = row2*column2
EG:
A = {'James Bond', [1 2; 3 4; 5 6]; pi; magic(5)}
C = reshape(A, 1, 4) %reshape(A, row2, column2)
Checking Variable And Variable Status:检查数据类型
isinteger
islogical
isnan
isnumeric
isprime
isreal
iscell
ischar
isempty
isequal
isfloat
isglobal
ishadle
isinf
File Access:如何把Work Space和File System中的数据做交换
save() and load();
·a = magic(4);
save mydata1.mat
save mydata2.mat -ascii %-ascii目的是储存的文件能不能用一般的文字浏览器打开,但是第一种方式储存的东西更多
%work space 储存到 File System
·load('mydata1.mat')
load('mydata2.mat','-ascii')
%Work space 读取 File System
%储存指定的变量
·save('filename','variables')
Excel File Reading and Writing
xlsread()
Score = xlsread('04Score.xlsx') %仅会读取number部分
Score = xlsread('04Score.xlse','B2:D4')
xlswrite()
M = mean(Score')';
%mean是对colomn做mean,所以遇到row排列平均时,需要做转置再做mean,输出回去再做转置转成row
xlswrite('04Score.xlsx', M, 1, 'E2:E4');
%xlswrite(filename,variable,sheet,location)
xlswrite('04Score.xlsx', {'Mean'}, 1, 'E1');
%写入一个字串作为标题
%练习写入标准差
[Score Header] = xlsread('04Score.xlsx');
%将数字部分和文字部分分开处理;Score储存的形式是矩阵;Header储存的形式是cell-将数组部分当作[]
%练习如何用xlswrite写入标题和内容
Low-level File Input/Output
fis = fopen('[filename]', '[permission]'); %permission是读写权限;EG:'r','w','a'……
fprintf(fid, format, x, y, ……); %‘写’指令
fscanf(fid, format, size); %size是读取data数
feof(fid) %读取完为止
EG1:
x = 0:pi/10:pi;
y = sin(x);
fid = fopen('sinx.txt','w');
for i=1:11
fprintf(fid,'%5.3f %8.4f\n', x(i), y(i)); %5.3f:有5个数位,小数点后有三位(位数包括小数点)
end
fclose(fid);
type sinx.txt
EG2:
fid = fopen('asciiData.txt','r');
i = 1;
while ~feof(fid)
name(i,:) = fscanf(fid,'%5c',1);
year(i) = fscanf(fid,'%d',1);
…………
noN(i) = fscanf(fid,'%g\n');
i = i+1
end
fclose(fid);
Matlab %叁的更多相关文章
- MATLAB入门教程
MATLAB入门教程 1.MATLAB的基本知识 1-1.基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可.例如: ...
- MATLAB新手教程
MATLAB新手教程 .MATLAB的基本知识 1-1.基本运算与函数 在MATLAB下进行基本数学运算,仅仅需将运算式直接打入提示号(>>)之後,并按入Enter键就可以.比如 ...
- (转)MATLAB入门教程
MATLAB入门教程 1.MATLAB的基本知识 1-1.基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可.例如: ...
- Matlab常用函数集锦
ndims(A)返回A的维数size(A)返回A各个维的最大元素个数length(A)返回max(size(A))[m,n]=size(A)如果A是二维数组,返回行数和列数nnz(A)返回A中非0元素 ...
- Matlab随笔之画图函数总结
原文:Matlab随笔之画图函数总结 MATLAB函数画图 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization).本节将介绍MATL ...
- Matlab 绘制三维立体图(以地质异常体为例)
前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...
- Matlab slice方法和包络法绘制三维立体图
前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...
- Matlab 高斯_拉普拉斯滤波器处理医学图像
前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...
- MATLAB中绘制质点轨迹动图并保存成GIF
工作需要在MATLAB中绘制质点轨迹并保存成GIF以便展示. 绘制质点轨迹动图可用comet和comet3命令,使用例子如下: t = 0:.01:2*pi;x = cos(2*t).*(cos(t) ...
- linux下配置matlab运行环境(MCR)
在安装好的matlab下有MCR(MatlabCompilerRuntime)在matlab2011/toolbox/compiler/deploy/glnxa64下找到MCRInstaller.zi ...
随机推荐
- ObjectARX2016-2创建直线
众所周知,数据库里面包含各种数据表,而数据表里面又是各种记录,当然还有字段.AUTOCAD里面对于图形的管理也是基于图形数据库的.因此,想要在DWG里面添加一条直线,只需要做三件事: (1)打开数据表 ...
- bladex 通用日志不入库,日志无法使用
公司最近要记录操作日志,然后用的是bladex脚手架.想起来刚好有自带的日志管理功能,然后就很happy的将日志功能授权给了管理员. 也就是那几个通用日志.接口日志.错误日志. 结果人傻了,根本不会记 ...
- 查看当前执行的sql
SELECT TOP 100 t.hostname, t.loginame, percent_complete, [session_id] , der.[request_id] , [start_ti ...
- laravel 邮件发送
1.首先你要在qq悠闲中开启你的 SMPT(设置->账户) 获取到你的授权码 2.配置laravel MAIL_DRIVER=smtpMAIL_HOST=smtp.qq.comMAIL_ ...
- 解决“chrome正受到自动测试软件的控制”信息栏显示问题
在使用Selenium WebDriver启动谷歌浏览器Chrome时,在新启动的浏览器地址栏下方经常会显示一行提示信息:"chrome正受到自动测试软件的控制",英文的就是&qu ...
- TypeScript Array(数组)
TypeScript Array(数组) 数组对象是使用单独的变量名来存储一系列的值. 数组非常常用. 假如你有一组数据(例如:网站名字),存在单独变量如下所示: var site1="Go ...
- Software--电商平台系统--P2 支撑基础设施 Infrastructure
2018-01-11 18:19:49 架构 客户体验 Ajax 交互技术. 网站快速加载且响应灵敏,则应该缓存商品数据. 灵活的缓存机制,以支持任何类型的存储(即分布式存储或内存中存储). 日志功 ...
- (jmeter笔记)jmeter远程启用服务器(分布式)
1.在负载机上安装jmeter,修改jmeter\bin\jmeter.properties配置: 1)server.rmi.ssl.disable=false 改 server.rmi.ssl.di ...
- iOS开发之时间格式化
//返回当前时间,以GMT为准 NSDate * date = [NSDate date]; NSLog(@"%@", date); //显示当前时间距离1970-01-01 00 ...
- js-禁止鼠标右键/禁止选中文字
1 <p>使用contextmenu禁止鼠标右键</p> 2 <script> 3 document.addEventListener('contextmenu', ...