matlab学习笔记(2)
MATLAB学习记录

MATLAB学习记录1.mean()函数求平均值ExamplesA = [1 2 3; 3 3 6; 4 6 8; 4 7 7];mean(A)ans =3.00004.5000 6.0000mean(A,2)ans =2.00004.00006.00006.00002. lower(type)Convert string to lowercase 转换为⼩写字母lower('MathWorks') is mathworks.3.grid 绘图时划分⽹格,配合figure使⽤grid ongrid off grid grid(axes_handle,...) grid minor4.fliplr 矩阵左右翻转If A is the 3-by-2 matrix,A =1 42 53 6then fliplr(A) produces4 15 26 3If A is a row vector,A = 1 3 5 7 9then fliplr(A) produces 9 7 5 3 15. cat() Concatenate arrays along specified dimension 连接函数cat(2, A, B) is the same as [A, B], and cat(1, A, B) is the same as [A; B]. GivenA = B =1 2 5 63 4 7 8concatenating along different dimensions produces6. legend()Graph legend for lines and patches符号表,注明图像legend('Former','latter')7.sign函数正负号函数Signum functionY = sign(X)DescriptionY = sign(X) returns an array Y thesame size as X, where each element of Y is:1 if the corresponding element of X isgreater than zero0 if the corresponding element of X equals zero-1 if the corresponding element of X is less than zeroFor nonzero complex X, sign(X) = X./abs(X).For example:rin(k)=sign(sin(2*pi*k*ts)); %Squar Wave Signal8. axis([0,200,0,0.6]);限制坐标轴的现实范围轴的控制axis([xmin, xmax, ymin, ymax])⽤命令axis auto 使MATLAB重新⾃动选择范围。
Matlab-Robotic-Toolbox工具箱学习笔记

Matlab Robotic Toolbox工具箱学习笔记(一)软件:matlab2013a工具箱:Matlab Robotic Toolbox v9.8Matlab Robotic Toolbox工具箱学习笔记根据Robot Toolbox demonstrations目录,将分三大部分阐述:1、General(Rotations,Transformations,Trajectory)2、Arm(Robot,Animation,Forwarw kinematics,Inversekinematics,Jacobians,Inverse dynamics,Forward dynamics,Symbolic,Code generation)3、Mobile(Driving to apose,Quadrotor,Braitenberg,Bug,D*,PRM,SLAM,Particle filter) General/Rotations%绕x轴旋转pi/2得到的旋转矩阵(1)r = rotx(pi/2);%matlab默认的角度单位为弧度,这里可以用度数作为单位(2)R = rotx(30, 'deg') * roty(50, 'deg') * rotz(10, 'deg');%求出R等效的任意旋转变换的旋转轴矢量vec和转角theta(3)[theta,vec] = tr2angvec(R);%旋转矩阵用欧拉角表示,R = rotz(a)*roty(b)*rotz(c)(4)eul = tr2eul(R);%旋转矩阵用roll-pitch-yaw角表示,R = rotx(r)*roty(p)*rotz(y) (5)rpy = tr2rpy(R);%旋转矩阵用四元数表示(6)q = Quaternion(R);%将四元数转化为旋转矩阵(7)q.R;%界面,可以是“rpy”,“eluer”角度单位为度。
有关于matlab的学习笔记

num2str(x)
将带小数点的数转化为一个字符型数组
str2num(x)
将字符串转化为数
7.使用legend(‘string1’,‘string2’,...,pos)
使用函数计的基本的步骤如下:
1,清晰地陈述出你要解决的问题
2.确定程序所需要地输入量和程序所产生的输出量
3.为你的程序设计算法
4.将算法转化为matlab语句
5.调式matlab程序
9.matlab中把0值作为结果FALSE,其他的非0值作为结果ture
10.不等于~=
11.与&,或|,与或xor,~非
4.format long 保留小数点后面的14位
format short保留小数点后面的4位,也是系统默认的格式
5.对于max函数而言
[maxval index]=max([1,5,6,3])
其中的maxval表示的是返回的最大值
index返回的是最大值所对应的位置
6.int2str(x)
1.在matlab中判断是不是空集的方式isempty(集合的名称)
2.数据字典指一组对数据流程图中的数据流、数据文件、数据项及处理逻辑进行定义描述的表格。数据字典是一个自动的或手动的存储数据元的定义和属性的文档
3.变量从键盘中输入,比如说,a=input('please input a:')相当于Java中的system.in
matlab课堂笔记

matlab课堂笔记
MATLAB课堂笔记可以从以下几个方面进行整理:
1.基础操作:包括MATLAB的启动、工作空间的创建和管理、变量和数据的创建和存储等。
2.矩阵运算:包括矩阵的创建、矩阵的运算(加法、减法、乘法、除法等)、矩阵的转置、矩阵的逆等。
3.绘图操作:包括二维图形的绘制、三维图形的绘制、图形的编辑和美化等。
4.程序编写:包括MATLAB脚本的编写、函数的设计和实现等。
5.数据分析和处理:包括数据的导入和导出、数据的清洗和处理、数据的分析和挖掘等。
6.工具箱的使用:包括MATLAB各种工具箱的使用,如信号处理工具箱、图像处理工具箱等。
matlab读书笔记

matlab读书笔记矩阵分解1.LU分解,将矩阵X分解成下三角矩阵或其变形形式L和上三角矩阵U的乘积。
X=L*U格式:[L,U]=lu(X)。
2.QR分解,将矩阵X分解成一个正交矩阵Q和上三角矩阵R的乘积。
X=Q*R格式:[Q,R]=qr(X)3.schur(舒尔)分解,将矩阵X分解成对角阵T(T的对角线元素为X的特征值)和正交矩阵U,并且满足X=U*T*U'格式:[U,T]=schur(X)4.特征值分解,将X分解为特征向量V和特征值对角阵D,满足X*V=V*D。
格式:[V,D]=eig(X)矩阵特殊操作1.矩阵的长度格式:[m,n]=size(X) 优先级(比较,算数,与或非)2.矩阵变维,reshape函数变维。
(matlab中,矩阵按列进行存贮)格式:B=reshape(X,m,n)矩阵的比较关系矩阵的比较关系是针对两个同维矩阵的对应元素而言的,即比较两个矩阵的对应元素,若满足关系则在该位置置1,否则在该位置置0.矩阵除法,左除(\)右除(/)。
一般情况下,x=a\b是方程a*x=b的解。
而x=b/a是方程x*a=b的解。
矩阵元素的余数函数:rem格式:C=rem(A,x)表示矩阵除以数x后的余数,若x=0 则定义rem(A,0)=NaN。
数组的乘除法是指两个同维数组【对应元素】间的乘除法,运算符为“.*” “./” “.\” “.^”多项式及其运算matlab是以向量的形式存储多项式的,即将向量元素按降幂顺序分配各系数值。
n次多项式是用一个长度为n+1的向量来表示的。
1.多项式的加减运算:matlab中没有提供专门的多项式加减运算函数,多项式的加减就是其所对应的系数向量的加减。
加减运算服从以下两条法则。
(1)次数相同的多项式直接对系数向量进行加减。
(2)次数不同的多项式应把次数不足的多项式的较高次项用0补齐然后进行运算。
2.多项式乘法:k=conv(p,q)。
3.多项式除法:[k,r]=deconv(p,q)。
Matlab笔记(重点)

MATLAB笔记作者:晏江1、用于取整的函数有fix、floor、ceil、round,要注意它们的区别,Ceil向正无穷大方向取整,floor向负无穷大方向取整, round向最接近的整数取整fix负数向下取整、整数向上取整rem与mod函数的区别。
rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。
2、数据输出时用户可以用format命令设置或改变数据输出格式。
format命令的格式为: format 格式符其中格式符决定数据的输出格式。
3、linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。
4、在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。
例如A=[1,2,3;4,5,6];A(3)ans =2显然,序号(Index)与下标(Subscript )是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。
其相互转换关系也可利用sub2ind和ind2sub函数求得。
(1) 建立矩阵A。
A=[4,-65,-54,0,6;56,0,67,-45,0](2) 找出大于4的元素的位置。
find(A>4) 结果是索引[i,j]=ind2sub(size(A),find(A>4)) 将索引转化为下标5、常用的产生通用特殊矩阵的函数有:zeros:产生全0矩阵(零矩阵)。
(1) 建立一个3×3零矩阵。
zeros(3),(2) 建立一个3×2零矩阵。
zeros(3,2)ones:产生全1矩阵(幺矩阵)。
eye:产生单位矩阵。
rand:产生0~1间均匀分布的随机矩阵。
randn:产生均值为0,方差为1的标准正态分布随机矩阵。
例:(1)在区间[20,50]内均匀分布的5阶随机矩阵。
x=20+(50-20)*rand(5) (2)均值为0.6、方差为0.1的5阶正态分布随机矩阵。
Matlab 学习笔记

Matlab教程命令+指定参数表3-13.3 数据交换系统MATLAB提供了多种方法将数据从磁盘或剪贴板中读入MATLAB工作空间。
具体的读写方法可依据用户的喜好以及数据的类型来选择。
这里主要介绍文本数据的读入。
对于文本数据(ASCII)而言,最简单的读入方法就是通过MATLAB的数据输入向导(Import Wizard),也可以通过MATLAB函数实现数据读入。
例如,对于文本文件test.txt:students’ scoresEnglish Chinese MathmaticsWang 99 98 100Li 98 89 70Zhang 80 90 97Zhao 77 65 87下面通过上述两种方法将该文件数据读入MATLAB工作空间,先介绍MATLAB数据交换系统对文本数据的识别。
此时文件的前几行(此处为“students’ scores”)将被识别为文件头,文件头可以为一行或几行,也可以识别出数据的列头(此处为:“English”、“Chinese”、和“Mathmatics”)和行头(此处为“wang”、“li”、“zhang”和“zhao”),其余的为可分断数据(此处为“99”、“98”、和“100”等)。
首先是通过数据输入向导编辑器读入数据,通过桌面平台上的【File】菜单中的【Import Data】选项打开输入向导编辑器,按向导提示进行操作完成整个文本数据的输入,则用户可以在MATLAB开发环境中使用该文本数据。
例如:>>whosName Size Bytes ClassData 4 3 96 double arrayGrand total is 12 elements using 96 bytes>>DataData =9998 1009889 7080 90 9777 65 87“whos”用于显示当前MATLAB工作空间的变量,而在命令窗口中输入data 后,将显示该数据。
Matlab知识点总结(精选5篇)

Matlab知识点总结(精选5篇)第一篇:Matlab知识点总结符号积分变换傅里叶变换及其反变换1.傅里叶变换f=f(x) F=F(w)syms x w u v f=sin(x)*exp(-x^2);F1=fourier(f)F1 = transform::fourier(sin(x)/exp(x^2), x,-w)>> f=x;F2=fourier(f)F2 = pi*dirac(w, 1)*2*i >> h=x*exp(-abs(x));F3=fourier(h)F3 =-(w*4*i)/(w^2 + 1)^2 >> h=x*exp(-abs(x));F3=fourier(h,u)F3 =-(u*4*i)/(u^2 + 1)^22.傅里叶反变换syms w v x t g=exp(-abs(x));IF2=ifourier(g)IF2 = 1/(pi*(t^2 + 1))拉普拉斯变换及其反变换 1.拉普拉斯变换syms x s t vf1=sqrt(t);L1=laplace(f1)L1 =pi^(1/2)/(2*s^(3/2))2.拉普拉斯反变换syms a s t u v xf=exp(x/s^2);IL1=ilaplace(f)IL1 =ilaplace(exp(x/s^2), s, t)Z变换及其反变换方程的解析解线性方程组的解析解包括求解线性方程组和非线性方程组的函数solve(),也有求解常微分方程组的函数dsolve()L1='x+y+z=10';L2='3*x+2*y+z=14';L3='2*x+3*y-z=1';%L1、L2、L3分别是三个字符串 g=solve(L1,L2,L3)g =x: [1x1 sym]y: [1x1 sym]z: [1x1 sym]%表明g是一个结构数组,其中每个元素为一>> g.x%符号类型的量,用如下方法查看方程解的具体值ans =1 一般求解方法:L1='x+y+z=10';L2='3*x+2*y+z=14';L3='2*x+3*y-z=1';[x y z]=solve(L1,L2,L3)x =1 y =2 z =7 线性方程组的解析解>> f=sym('a*x^2+b*x+c=0');xf=solve(f)xf =-(b +(b^2(b^24*u*w)^(1/2))/(2*u)(v^2 + 4*u*w*vw z =-(v + 2*u*w +(v^2 + 4*u*w*v(v^2 + 4*u*w*v(a*x^2)/2 >> y=dsolve('D2y+2*x=2*y','x')y = x + C4*exp(2^(1/2)*x)+ C5/exp(2^(1/2)*x)>>y=dsolve('D2y+2*x=2*y','y(2)=5','Dy(1)=2','x')y =x +(exp(2^(1/2)*x)*(6*exp(2^(1/2))+2^(1/2)))/(2*exp(2^(1/2))*(exp(2*2^(1/2))+1))3*2^(1/2)))/(2*exp(2^(1/2)*x)*(exp(2*2^(1/2))+ 1))MATLAB程序设计全局变量 global A B C变量名区分大小写脚本文件是m文件中最简单的一种输入顿号输出参数,用命令语句可以控制MATLAB命令工作空间的所有数据。
matlab学习笔记之求解线性规划问题和二次型问题

matlab学习笔记之求解线性规划问题和⼆次型问题⼀、线性规划问题 已知⽬标函数和约束条件均为线性函数,求⽬标函数的最⼩值(最优值)问题。
1.求解⽅式:⽤linprog函数求解2.linprog函数使⽤形式: x=linprog(f,A,b) x=linprog(f,A,b,Aeq,beq) x=linprog(f,A,b,Aeq,beq,lb,ub) x=linprog(f,A,b,Aeq,beq,lb,ub,x0) x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) [x,fval]=linprog(…) [x, fval, exitflag]=linprog(…) [x, fval, exitflag, output]=linprog(…) [x, fval, exitflag, output, lambda]=linprog(…)3.介绍⼀种最常⽤的: [x,fval,exitflag,output,lambda] = linprog(f,A,b,Aep,beq,lb,ub);其中,f是⽬标函数系数矩阵;A和b是不等式约束条件的参数;Aeq和beq是等式约束条件的参数;lb和ub为x取值的取值范围。
lambda.ineqlin—不等式约束A,b lambda.eqlin—等式约束Aep,bep lambda.upper—上界条件ub lambda.lower—下界条件lb4.实例:⽬标函数:f(x) = –5x1 – 4x2 –6x3,约束条件: x1 – x2 + x3 ≤ 20 3x1 + 2x2 + 4x3 ≤ 42 3x1 + 2x2 ≤ 30 0 ≤ x1, 0 ≤ x2, 0 ≤ x3Matlab程序:>> f = [-5; -4; -6]; A = [1 -11; 324; 320]; b = [20; 42; 30]; lb = zeros(3,1);>> [x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);>> xx =0.000015.00003.0000>> fvalfval =-78.0000⼆、⼆次型规划问题 理解完线性规划问题再来学习⼆次型规划问题就简单得多了,可以相似类⽐。
matlab数字图像处理intrans函数学习笔记

matlab数字图像处理intrans函数学习笔记intrans函数如下:function g = intrans(f,varargin)error (nargchk(2,4,nargin))%check inputclassin = class(f);%stroe the class of the input for use later.if strcmp(class(f),'double') & max(f(:))>1 & ~strcmp(varargin{1},'log')f = mat2gray(f);%if all the 3 conditions is filling the need .else% make sure the class(f) is in the class of double , f(:) means all the% elemnets in the martix F, and the max(f(:))>1 means if the max(f(:))>1 so% convert them into double , in this way they are all less then1.% strcmp(varargin[1],'log') is the string compare, and the varargin {1}% compares with log.f = im2double(f);endmethod = varargin{1};switch methodcase 'neg'g = imcomplement(f);case 'log'if length(varargin) == 1c = 1;elseif length(varargin) == 2c = varargin{2};elseif length(varargin) == 3c = varargin{2};classin = varargin{3};elseerror('Incorrect number of input for the log option.')endg = c*(log(1+double(f)));case 'gamma'if length(varargin) < 2error('not enough input for the gamma option')endgam = varargin{2};g = imadjust (f, [], [], gam);case 'stretch'if length(varargin) == 1%defaults vaulem = mean2(f);E = 4.0;elseif length(varargin) == 3m = varargin{2};E = varargin{3};else error('incorrect number of inputs for the srtetch option.')endg = 1./(1 + (m./(f+eps)).^E);otherwiseerror('unkown enhancement method.')end% g = changeclass(classin , g);说实话,对matlab的代码风格不是很习惯,后来看着看着感觉和才⾮常相似,也就看起来舒服多了这段代码刚开始没看懂,尤其是varargin{}的⼀直不明⽩,但加断点后,将整个程序跑了⼀遍,基本就明⽩了,这⾥不得不说,中⽂版书上将的不是很明⽩。
学习笔记-MATLAB

学习笔记-MATLAB⼀,基操1,命令窗⼝中的标点符号:空格:⽤于输⼊变量之间的分隔符以及数组⾏元素之间的分隔符。
逗号:⽤于要显⽰计算结果的命令之间的分隔符;⽤于输⼊变量之间的分隔符;⽤于数组⾏元素之间的分隔符。
点号:⽤于数值中的⼩数点。
分号:⽤于不显⽰计算结果命令⾏的结尾;⽤于不显⽰计算结果命令之间的分隔符;⽤于数组元素⾏之间的分隔符。
冒号:⽤于⽣成⼀维数值数组,表⽰⼀维数组的全部元素或多维数组的某⼀维的全部元素。
百分号:⽤于注释的前⾯,在它后⾯的命令不需要执⾏。
单引号:⽤于括住字符串。
圆括号:⽤于引⽤数组元素;⽤于函数输⼊变量列表;⽤于确定算术运算的先后次序。
⽅括号:⽤于构成向量和矩阵;⽤于函数输出列表。
花括号:⽤于构成元胞数组。
下划线:⽤于⼀个变量、函数或⽂件名中的连字符。
续⾏号:⽤于把后⾯的⾏与该⾏连接以构成⼀个较长的命令。
“At”号:⽤于放在函数名前形成函数句柄;⽤于放在⽬录名前形成⽤户对象类⽬录。
+,-,*,/,Λ:算术运算符。
2,数值计算结果的显⽰格式:命令含义范例format short短格式(默认) 3.1416(⼩数点后4位有效)format short e短格式科学格式 3.1416e+000(5位科学计数)format long长格式 3.141592653589793(15位)format long e长格式科学格式 3.141592653589793e+000format rat有理格式355/113format hex⼗六进制格式400921fb54442d18format bank 银⾏格式 3.14(元⾓分格式)3,命令窗⼝的常⽤控制命令:clc: 清屏。
清除命令窗⼝中的所有已显⽰的内容。
clear: 删除内存中的变量。
what:列出当前⽬录下的M、MAT、MEX⽂件清单。
dir:显⽰当前⽬录或指定当前⽬录下的⽂件。
cd 路径:改变或显⽰当前⼯作⽬录;路径可省略,省略时为显⽰当前⼯作⽬录;cd ..表⽰回到上⼀级⽬录。
Matlab学习笔记(全)

Matlab学习笔记——《MATLAB与科学计算》王正盛国防工业出版社一.MATLAB入门 (4)who、whos和永久变量 (4)显示格式 (4)图形 (4)二.MATLAB数值计算 (5)1.常用命令: (5)2.矩阵的保存和获取 (5)3.矩阵的运算和数组的运算 (5)4.线性方程组 (5)5.多项式 (6)6.数值积分 (6)7.一般非线性方程组求解 (6)8.微分方程的数值求解 (7)三.MATLAB的符号计算 (7)1.符号变量和符号表达式 (7)2.微积分运算 (7)3.解方程 (8)4.化简和代换 (8)的符号表达式命令 (8)四.MATLAB的图形和可视化 (9)1.二维图形 (9)2图形标记 (9)3.特殊坐标和图形 (9)4.其他命令 (9)5.填充命令 (10)6.三维图形 (10)7.符号绘图 (10)8.其他 (10)五.MATLAB程序设计 (10)1.概述: (10)2.命令文件 (11)3.程序文件 (11)六.MATLAB图形用户界面(GUI)设计 (11)七.基于MATLAB的大规模矩阵计算 (11)1.稀疏矩阵 (11)八.基于MATLAB的最优化问题求解 (12)1.线性规划问题 (12)2.非线性问题 (12)3.二次规划问题 (12)九.基于MATLAB的数据插值和拟合 (12)1.一维数据插值 (12)2.二维数据插值 (13)3.曲线拟合 (13)十.基于MATLAB的图像处理初步 (13)1.图像分类 (13)2.图像的读取和显示 (13)一.MATLAB入门who、whos和永久变量who 变量名 %检查内存变量。
Whos %检查驻留变量的详细情况。
MATLAB自定义的永久变量:eps %计算机中的最小正数 inf %无穷大pi %圆周率 NaN %不定量flops %浮点运算次数 i,j%虚数单位显示格式MATLAB中以短格式(5个有效数字)显示计算结果,可以用format命令改变数字显示格式1.变量的存储和调用1)存储当前工作空间中的变量Save %将所有的变量存入文件中Save mydate %将所有变量存入指定文件Save mydate x y z %将指定的变量存入指定的文件中2)将数据文件的变量载入当前的工作空间将save换作load即可图形1.二维图形绘制命令Plot(x,y);2.三维图形绘制命令Mesh(z);2.用户目录的建立在命令窗口输入:cd c:\mydir二.MATLAB数值计算1.常用命令:Reshape命令X=1:1:6; %产生6个元素的行向量Reshape(x,2,3); %利用X行向量产生一个2*3的向量diag命令:ar=rand(4,4) %产生一个4*4的0-1均匀随机向量d=diag(ar) %用ar的主对角元形成向量dD=diag(d)%利用d构成对角矩阵DSize:获取矩阵的行数和列数2.矩阵的保存和获取1)利用m文件利用文件编辑器编辑矩阵AM=[1 2 3;4 5 6;7 8 9]——》保存为在自己的目录下名的——》在MATLAB命令窗口中只要输入matrix就可以调用AM矩阵2)通过mat文件Mat文件是MATLAB中保存数据的一种标准格式二进制文件,通过save和load执行,如前所述3)利用外部数据文件装入到指定矩阵中假如磁盘中已有名为c:\mydir\的二进制数据文件,利用load c:\mydir\命令可以在MATLAB工作空间中产生一个名为date的矩阵3.矩阵的运算和数组的运算矩阵运算是按矩阵的运算法则进行的;数组运算无论何种操作都是对元素逐个进行的,数组运算需要在运算符前加点号。
MATLAB定点仿真方法的学习笔记

定点仿真方法的学习笔记(一)在用MATLAB工具对算法进行仿真时,数据的流动是以浮点形式进行的,浮点型又分单单精度浮点型数据用32 bit 来存储数据,其中符号位1 bit,指数位8 bit,尾数位23 bit。
双精度浮点型数据则用64 bit 来存储数据,其中符号位1 bit,指数位11 bit,尾数位52 bit。
这样的数据存储方式能够保证一个数的精度。
但是在考虑硬件实现的时候(如FPGA,定点DSP),数据的流动是以固定长度的二进制序列进行,因此,为了进一步的反映硬件实现中算法性能,我们需要对数据的类型做重新的定义,使得所表示的数据更符合硬件平台上的处理方式。
做定点仿真实际就是对算法中的每一个数据进行量化,用规定字长的二进制序列表示一个数,使它接近实际值。
为了方便对数据类型做定点转换,MATLAB提供了强大的Fixed-Point Toolbox 来帮助我们做这项工作。
以下的所用内容只是个人对Fixed-Point Toolbox 学习的总结,如有任何疑问,请查找HELP 中的相关内容,理解上如有错误,恳请斧正。
先介绍几个对象给大家认识,也就是Object,个人认为定点的过程就是让数据在 fi这个对象下进行工作。
●fi 对象当你用 fi 这个函数对一个数据进行定点处理时,你就构造了一个fi 对象(说白了也是一个数,你规定了这个数的数据类型)。
你可以对这个对象进行运算。
与一个数不同的是这个对象有很多的属性,在这里先把它们中常用的列出来,并对它们做一些简要说明,后面会用实例告诉大家怎么去理解这些属性。
✓Data 属性该属性可以让你了解一个fi对象在不同的数据形式下的具体值,如二进制(bin),八进制(oct),十进制(dec),十六进制(hex),双精度(double)等等。
✓fimath 属性该属性规定了fi 对象在进行数据运算时,处理数据的习惯(数学运算,截位方式,溢出方式)。
它是一个比较抽象意义上的属性,你可以用另一个对象对它进行定义。
matlab学习笔记之五种常见的图形绘制功能

matlab学习笔记之五种常见的图形绘制功能分类:离散数据图形绘制函数图形绘制⽹格图形绘制曲⾯图形绘制特殊图形绘制本⽂重点介绍matlab五种图形绘制⽅法的后三种。
⼀、⽹格图形绘制以绘制函数z=f(x,y)三维⽹格图为例,下⾯为绘制步骤:1. 确定⾃变量x和y的取值范围和取值间隔 x = x1:dx:x2; y = y1:dy:y2; 2.构成xoy平⾯上的⾃变量采样格点矩阵 1)利⽤“格点”矩阵⽣成原理⽣成矩阵 X = ones(size(y))*x; Y = y*ones(size(x)); 2)利⽤meshgrid命令⽣成“格点”矩阵 [X,Y] = meshgrid(x,y); 3.计算在⾃变量采样“格点”上的函数值 1) mesh(X,Y,X) 2) mesh(Z) 3) mesh(X,Y,Z,C) 4) mesh(X,Y,Z,’PropertyName’,PropertyValue,...)实例:绘制的图像,并作定义域的裁剪。
clear,clf,a = -1;b = 1;c = -15;d = 15;n = 20;eps1 = 0.01;x = linspace(a,b,n);y = linspace(c,d,n);[X,Y] = meshgrid(x,y);% 计算函数值z,并做函数的定义域剪裁for i = 1:nfor j = 1:nif(1-X(i,j))<eps1 || X(i,j) - Y(i,j) < eps1Z(i,j) = NaN;elseZ(i,j) = 1000*sqrt(1 - X(i,j))^-1.*log(X(i,j)-Y(i,j));endendend% 画定义域边界线zz = -20*ones(1,n);plot3(x,x,zz),grid on,hold onview([-56.538]);xlabel('x'),ylabel('y'),zlabel('z'),box on结果:⼆、曲⾯图形绘制曲⾯图形的绘制使⽤surf函数完成,与mesh函数类似。
MATLAB学习笔记 - 读取txt、mat、Excel等文件

检验结果可以看出是正确的,但是我想下面用debug来显示一下其中变量的变化情况,自己感觉是比较复杂的,因为从结构体,cell等数据变来变去的,可能我的程序把原来简单的问题复杂化了,但是的确没有找到更好的办法。
【3】读取中英文混乱txt
fidin=fopen('test.txt'); % 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
% txt文件中含有一个数据项
% 输出cell格式以免各txt中数据长度不同
%
% 原始版本:V1.0 作者:李鹏
A = dir(fullfile(path,'*.txt'));
% 读取后A的格式为
% name -- filename
% date -- modification date
% bytes -- number of bytes allocated to the file
%
A = dir(fullfile(path,'*.mat'));
% 读取后A的格式为
% name -- filename
% date -- modification date
% bytes -- number of bytes allocated to the file
% isdir -- 1 if name is a directory and 0 if not
学习matlab(Matlab基础知识)

第二讲Matlab基础知识1.标识符把标志变量、常量或文件名的特定字符称为标识符,Matlab规定必须是英文字母、阿拉伯数字和下划线等符号组成的字符串,第一个符号必须是英文字母。
2.Matlab中的数据及变量类型有三种类型的基本数据:(1)数值型数据,简称数值(Double Array):一般输入的数字均为数值数据,包含实数、复数。
(2)字符串型数据,简称字符量(Char Array):用英文格式单引号加以界定的数字、字符、各种符号、表达式、方程式和汉字等。
(3)符号型数据,简称符号量(Sym Object):用sym和syms可以把字符、表达式、方程、矩阵等定义成数学符号,称为符号型数据,运算结果为数学表达式。
在命令窗口中键入class(a),回车可知已有变量a是哪一种类型的数据。
3.变量名及赋值(略)2.1 数值矩阵2.1.1 永久性数值变量名除了i、j、pi、eps(浮点运算相对精度10-52)、Inf、NaN外还有,realmin(最小正浮点数2-1022)、realmax(最大正浮点数21023)。
2.1.2 数值矩阵的创建1.直接输入法>>a=[1 6 1;4 6 2;9 3 8];>> b=[2-3i,3+5i,2i;3,9i,6;5-i,7i,4];3.变换矩阵结构的命令flipud(a)——输出矩阵a上下翻转后的矩阵;fliplr(a)——输出矩阵a左右翻转后的矩阵;rot90(a,k)——输出矩阵a沿逆时针旋转k个90度后的矩阵,k为正负整数;rot90(a)——输出矩阵a逆时针旋转90度后的矩阵;reshape(A,m,n)——输出一个m×n=k阶矩阵,它是由矩阵a的k个元素重新排列构成的矩阵,重排前后元素在矩阵中的符号不变。
4.一批特殊向量(行矩阵)的创建(1)等差数列型向量的创建增量输入法:t=a:h:b或t=[a:h:b],>> t=(a:h:b),a、b为起始值,h为公差,可正,可负,省略时为1.例如>> t=0:0.1:2*pi线性等分命令t=linspace(a,b,n),a、b为起始值,n为(b-a)的等分点个数。
EEGLAB学习笔记

E E G L A B学习笔记EEGLAB界面一、基础步骤:1.载入数据File>Import data存为CNT file2.添加通道坐标信息Edit>Channel locations3.更改采样频率,也可以不改,这样数据小一点,处理方便Tools>Change sampling rates4.提取数据段Tools>extract epochs试了好多组limits,(-10 20)~(0,30)之间都失败了。
大概是数据过大。
选择其中一部分再试Edit>Select data结果还是无法提取数据段。
尝试选取0-500s,epoch limit [-1 2]提取数据段完成后会自动跳出除去基线的选项。
默认就完成了。
做完基本工作后(更改采样频率和剪切数据段不必要,但这个数据太大了所以得做)来画几个图。
二、有关图形绘制按照plot菜单里命令顺序locations可以按数字编号或名称来画2D电极位置图,如果想画3D图则在Edit>Channellocations里。
data(scroll)可以查看每个通道的(电压)波形setting中time range to display(每页显示数据段数,默认是5)设定不好matlab 会崩溃……彩色的线是event types,可以看到第几秒发生了哪种event。
右上的两个键也不知道,norm按下去就木有然后了。
spectra and maps绘制频谱图据说在此之前最好看一下每个channel数据,并reject掉不好的数据段。
第二行是采样百分比,越大越准确,100就不失真。
第三行是绘制某几个频率的功率分布地形图。
从这个图看来,不同通道差的很远啊。
4.还不知道ERP image绘制ERP图形Smoothing是与邻近的n个epoch进行平滑。
Epoch-sorting field 可选排序方式。
Smoothing为10和100的对比Smoothing选100图形平滑不少。
MATLAB学习笔记整理

MATLAB笔记摘录:1、clc 命令清空命令窗口(The Command Windows)中的内容,可以用clf 清空当前图象窗口中的内容。
在工作空间窗口(The workspace browser)中变量可用clear命令清除。
2、能用diary 命令记录下在MATLAB 中运行过程中每个线程所做的事。
3、常见编程错误如果变量名与MATLAB 中的函数或命令重名,那么这个函数或命令将不能被访问。
4、常见编程错误不要创建和MATLAB 内建函数或命令同名的M 文件。
5、—which 命令,它能帮助我们找到正在执行的文件版本和它的路径。
6、命令窗口是最重要的窗口,因为所有的命令都得在此键入,所有的结果在此输出7、MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前31 个字符是有效的;如果超过了31 个字符,基余的字符将被忽略。
如果声明两个变量,两变量名只有第32 个字符不同,那么MATLAB 将它们当作同一变量对待8、像MATLAB 这样的叫做弱类型语言。
通过简单的赋值形式就可以创建变量,变量类型取决于创建时的类型。
9、。
有三种方式初始化MATLAB 中的变量:1.用赋值语句初始化变量2.用input 函数从键盘输入初始化变量3.从文件读取一个数据10、克隆运算符指定一系列的数值,它指定了这个系列数的第一值,步增和后一个值。
它的一般顺序始下first:incr:last11、捷径表达式可以联合转置运算符(’)来初始化行向量,或更加复杂的矩阵12、函数zeros 可以初始化任何大小的全为零的数组。
相似地,ones 函数产生的数组包含的元素全为1,eye 函数通常用来产生单位矩阵,只有对角线的元素为1.其他元素为0. 13、input 函数中有字符's'做为它的第二个参数,输入的数据就被当字符串. in2=input('enter data:','s') enter data:123 把字符串1.23 存储到in2 中.14、.数组,矩阵,向量有什么区别?答:矩阵是二维数组,向量是一维数组,矩阵和向量是数据的子集。
学习笔记2—MATLAB的copyfile技巧

temp1 = dir(dpath); temp1 = temp1(3:end); newName = [temp(i).name,'_',temp1(i).name]; % copyfile([dpath,'\','*.nii'],[para,'\',newName]) %会将*.nii放在路径下的newName文件夹里面 copyfile([dpath,'\',temp1(1).name],[para,'\',newName]);%会将.nii的名字直接改成newName (必须指定文件格式,即后缀名[.nii]),并且放在 para路径下。
end
3309198330请简要说明来意并附上您所咨询帖子的链接同时备注来自何弈博客
学习笔记 2—MATLAB的 copyfile技巧
clear clc
%一、新建文件夹, %二、将原始路径下的数据剪切到新建文件夹中
path = ('E:\DFC_DMN_ASD_DATA_res\Cluster_hcc\4,6,8\Cluster_6\state2\ASD\');%原始数据路径 para = ('E:\DFC_DMN_ASD_DATA_res\CorrAnalysis\cluster6\state2\data_ASD');%创建FunImg文件夹的路径 % T1path = ('D:\Autism\USM\TD\T1Img');%创建T1Img文件夹的路径 % mkdir(ASDpath);%创建FuБайду номын сангаасImg文件夹 % mkdir(T1path);%创建T1Img文件夹 temp = dir(path); temp = temp(3:end); for i = 1 : length(temp)