文档库 最新最全的文档下载
当前位置:文档库 › MATLAB软件基本的曲线拟合函数命令

MATLAB软件基本的曲线拟合函数命令

MATLAB软件基本的曲线拟合函数命令
MATLAB软件基本的曲线拟合函数命令

MATLAB软件提供了基本的曲线拟合函数的命令。

曲线拟合就是计算出两组数据之间的一种函数关系,由此可描绘其变化曲线及估计非采集数据对应的变量信息。

1.线性拟合函数:regress()

调用格式: b = regress(y,X)

[b,bint,r,rint,stats] = regress(y,X)

[b,bint,r,rint,stats] = regress(y,X,alpha)

说明:b=[ε; β],regress(y,X)返回X与y的最小二乘拟合的参数值β、ε,y=ε+βX。β是p′1的参数向量;ε是服从标准正态分布的随机干扰的n′1的向量;y为n′1的向量;X为n′p矩阵。

bint返回β的95%的置信区间。

r中为形状残差,rint中返回每一个残差的95%置信区间。Stats向量包含R2统计量、回归的F值和p值。

例:

x=[ones(10,1) (1:10)'];

y=x*[10;1]+normrnd(0,0.1,10,1);

[b,bint]=regress(y,x,0.05)

结果得回归方程为:y=9.9213+1.0143x

2.多项式曲线拟合函数:polyfit()

调用格式: p = polyfit(x,y,n)

[p,s] = polyfit(x,y,n)

说明:n:多项式的最高阶数;

x,y:将要拟合的数据,用数组的方式输入;

p:为输出参数,即拟合多项式的系数;

多项式在x处的值y可用下面程序计算:

y=polyval(p,x)

例:

x=1:20;

y=x+3*sin(x);

p=polyfit(x,y,6)

xi=linspace(1,20,100);

z=polyval(p,xi); % 多项式求值函数

plot(x,y,'o',xi,z,'k:',x,y,'b')

legend('原始数据','6阶曲线')

3.一般的曲线拟合:curvefit()

调用格式:p=curvefit(‘Fun’,p0,x,y)

说明:Fun:表示函数Fun(p,data)的M函数文件;

x,y:将要拟合的数据,用数组的方式输入;

p0:表示函数待拟合参数的初值;

4.自定义函数拟合:nlinfit()

调用格式:[beta,r,J]=nlinfit(x,y,’fun’,beta0)

说明: beta:返回函数'fun'中的待定常数;

r: 表示残差;

J: 表示雅可比矩阵。

x,y: 要拟合的数据;

fun:自定义函数;

beta0:待定常数初值;

例:化工生产中获得的氯气的级分y随生产时间x下降,假定在x≥8时,y与x之间有非线性模型:

现收集了44组数据,利用该数据通过拟合确定非线性模型中的待定常数。

x y x y x y

8 0.49 16 0.43 28 0.41

8 0.49 18 0.46 28 0.40

10 0.48 18 0.45 30 0.40

10 0.47 20 0.42 30 0.40

10 0.48 20 0.42 30 0.38

10 0.47 20 0.43 32 0.41

12 0.46 20 0.41 32 0.40

12 0.46 22 0.41 34 0.40

12 0.45 22 0.40 36 0.41

12 0.43 24 0.42 36 0.36

14 0.45 24 0.40 38 0.40

14 0.43 24 0.40 38 0.40

14 0.43 26 0.41 40 0.36

16 0.44 26 0.40 42 0.39

16 0.43 26 0.41

首先,定义非线性函数的m文件:fff6.m

function yy=model(beta0,x)

a=beta0(1);

b=beta0(2);

yy=a+(0.49-a)*exp(-b*(x-8));

拟合程序:

x=[8.00 8.00 10.00 10.00 10.00 10.00 12.00 12.00 12.00 14.00 14.00 14.00...

16.00 16.00 16.00 18.00 18.00 20.00 20.00 20.00 20.00 22.00 22.00 24.00...

24.00 24.00 26.00 26.00 26.00 28.00 28.00 30.00 30.00 30.00 32.00 32.00...

34.00 36.00 36.00 38.00 38.00 40.00 42.00]';

y=[0.49 0.49 0.48 0.47 0.48 0.47 0.46 0.46 0.45 0.43 0.45 0.43 0.43 0.44 0.43...

0.43 0.46 0.42 0.42 0.43 0.41 0.41 0.40 0.42 0.40 0.40 0.41 0.40 0.41 0.41...

0.40 0.40 0.40 0.38 0.41 0.40 0.40 0.41 0.38 0.40 0.40 0.39 0.39]';

beta0=[0.30 0.02];

betafit = nlinfit(x,y,'sta67_1m',beta0)

结果:betafit =

0.3896 0.1011

即:a=0.3896 ,b=0.1011 拟合函数为:

4.多元非线性拟合:

(1).nlinfit()

调用格式:[beta,r,J]=nlinfit(X,Y,'fun',beta0)

说明: beta:返回函数'fun'中的待定常数;

r: 表示残差;

J: 表示雅可比矩阵。

X,Y: 要拟合的多元数据矩阵;

fun:自定义函数;

beta0:待定常数初值;

例:

x1 = [1150,1000,900,850,700,625,550,475,3350,3500,5900,

5800,5700,4600,4625,4725,11650,11200,11200 ]';

x2 = [175,100,25,0,75,100,150,200,50,600,500,

225,100,1225,1600,2000,1200,1000,1550 ]';

x = [x1,x2];

y = [1.44E-02,1.80E-02,6.08E-02,5.59E-02,3.42E-02,7.74E-03,1.17E-03,

6.16E-03,1.91E-04,1.91E-04,1.02E-03,2.83E-03,9.52E-05,3.77E-04,

2.70E-04,1.87E-04,

3.98E-04,

4.04E-04,4.02E-04 ]';

beta0 = [0.1 0.1 1 1];

myfun =

@(a,x)4030.0./pi./4.2./(a(1).*x(:,1).^a(2).*a(3).*x(:,1).^a(4)).*exp(-(x(:,2).^ 2./2./(a(1).*x(:,1).^a(2)).^2+30.0.^2./2./(a(3).*x(:,1).^a(4)).^2));

[a,b,c,d,res] = nlinfit(x,y,myfun,beta0);

a,res

plot3(x1,x2,y,'o',x1,x2,myfun(a,x))

% 值的选取没有定法,与实际问题的模型有关。

(2).regress()

线性的不行,用二次函数。

format long

A=[...

0.2 13.6 8503 251 27.4

7.7 9.9 3658 314 13.9

5.8 10.8 7307 433 2

6.8

7.70 9.70 6717 257 23.8

7.5 9.8 7609 280 21.7

5.6 11.3 4271 533 14.6

6.2

7.6 52169 48 225

3.23 9.16 16516 80 4

4.1

0.33 11.3 17366 85 54.1

0.14 9.5 14245 91 56.6

5.5 9.7 18184 3 31.6

2.3 8.9 33612 250 114.9

3.3

4.6 73927 5 166

1.9 9.7 32175 150 107.5

0.6 9.9 33088 242 142.3

0.22 11.7 18620 567 60.4

1.88 11.76 27885 267 71.6

2.78 10.9 21780 76 58.7]

x=A(:,1:4),Y=A(:,5)

x11=x(:,1).*x(:,1);

x12=x(:,1).*x(:,2);

x13=x(:,1).*x(:,3);

x14=x(:,1).*x(:,4);

x22=x(:,2).*x(:,2);

x23=x(:,2).*x(:,3);

x24=x(:,2).*x(:,4);

x33=x(:,3).*x(:,3);

x34=x(:,3).*x(:,4);

x44=x(:,4).*x(:,4);

X=[x(:,:),x11,x12,x13,x14,x22,x23,x24,x33,x34,x44]

[B,BINT,R] = REGRESS(Y,[ones(length(Y),1),X])

B就是系数,R就是预测值与实际值的差值。

(3).lsqcurvefit()

clear

clc

x = [40 50 60 70 80 90 100 110 120 135 150]; y = [0.0096 0.0145 0.0194 0.0348 0.0501 0.0751

0.1000 0.1497 0.1993 0.2496 0.2999];

z = [0.2400 0.2865 0.3330 0.3600 0.3870 0.4010

0.4150 0.4390 0.4630 0.4875 0.5120];

X0 = [1 1 1 1 1 1];

% 只要这样写就可以了

f=@(p,x)( p(1) + p(2)*x(1,:) + p(3)*x(2,:) + p(4)*x(1,:)

.^2 + p(5)*x(1,:).*x(2,:) + p(6)*x(2,:).^2);

p=lsqcurvefit(f,X0,[x;y],z);

5.稳健回归函数:robust()

稳健回归是指此回归方法相对于其他回归方法而言,受异常值的影响较小。

调用格式: b = robustfit(x,y)

[b,stats] = robustfit(x,y)

[b,stats] = robustfit(x,y,’wfun’,tune,’const’)

说明:

b:系数估计向量;

stats:各种参数估计;

wfun:指定一个加权函数;

tune:为调协常数;

const:值为’on’(默认值)时添加一个常数项,为’off ’时忽略常数项。

例:演示一个异常数据点如何影响最小二乘拟合值与稳健拟合。首先利用函数y=10-2x加上一些随机干扰的项生成数据集,然后改变一个y的值形成异常值。调用不同的拟合函数,通过图形观查影响程度。

程序:x=(1:10)’;

y=10-2*x+randn(10,1);

y(10)=0;

bls=regress(y,[ones(10,1) x]); % 线性拟合

brob=robustfit(x,y); % 稳健拟合

scatter(x,y;

hold on

plot(x,bls(1)+bls(2)*x,’:’);

plot(x,brob(1)+brob(2)*x,’r‘);

结果:bls = 8.4452 -1.4784

brob = 10.2934 -2.0006

(完整版)MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

matlab常用操作命令

matlab常用操作备忘(1)2007-11-30 22:01:06 分类: 北京理工大学 20981 陈罡 帮助朋友做几个数据的卷积的仿真,一用才知道,呵呵,发现对不住偶的导师了。。。好多matlab的关键字和指令都忘记了。特意收集回顾一下: (1)管理命令和函数 addpath :添加目录到MATLAB搜索路径 doc :在Web浏览器上现实HTML文档 help :显示Matlab命令和M文件的在线帮助 helpwin helpdesk :help 兄弟几个 lookfor :在基于Matlab搜索路径的所有M文件中搜索关键字 partialpath:部分路径名 8*) path :所有关于路径名的处理 pathtool :一个不错的窗口路径处理界面 rmpath :删除搜索路径中指定目录 type :显示指定文件的内容 ver :版本信息 version :版本号 web :打开web页 what :列出当前目录吓所有的M文件 Mat文件和 Mex文件 whatsnew :显示readme文件 which :显示文件位置 (2)管理变量和工作区 clear :从内存中删除所有变量,clear x y z是删除某个变量 disp :显示文本或数组内容 length :数组长度(最长维数) load :重新载入变量(从磁盘上) mlock :锁定文件,防止文件被错误删除 munlock :解锁文件 openvar :在数组编辑器中打开变量 pack :整理内存空间 save :保存变量到文件 8*) size :数组维数

who whos :列出内存变量 workspace :显示工作空间窗口 (3)管理命令控制窗口(command窗口) clc :清空命令窗口 echo :禁止或允许显示执行过程 format :设置输出显示格式 home :光标移动到命令窗口左上角 more :设置命令窗口页输出格式 (4)文件和工作环境 cd :改变工作目录 copyfile :复制文件 delete :删除文件和图形对象 diary :把命令窗口的人机交互保存到文件 dir :显示目录 edit :编辑文本文件 fileparts :返回文件的各个部分 fullfile :使用指定部分建立文件全名 inmem :返回内存(伪代码区)的matlab函数名 ls :在unix系统中列出目录(win中亦可) matlabroot :根目录 mkdir :新建目录 open :打开文件 pwd :显示当前目录 tempdir :返回系统临时目录的名字 tempname :随机给出一个临时字符串(可用作文件名) ! :直接调用操作系统command命令 (5)启动和推出matlab matlabrc :Matlab的启动M文件 exit quit :退出Matlab startup :运行matlab启动文件 (6)程序设计 builtin :从可重载方法中调用内置函数 eval :执行包含可执行表达式的字符串

(完整版)matlab函数大全(非常实用)

信源函数 randerr 产生比特误差样本 randint 产生均匀分布的随机整数矩阵 randsrc 根据给定的数字表产生随机矩阵 wgn 产生高斯白噪声 信号分析函数 biterr 计算比特误差数和比特误差率 eyediagram 绘制眼图 scatterplot 绘制分布图 symerr 计算符号误差数和符号误差率 信源编码 compand mu律/A律压缩/扩张 dpcmdeco DPCM(差分脉冲编码调制)解码dpcmenco DPCM编码 dpcmopt 优化DPCM参数 lloyds Lloyd法则优化量化器参数 quantiz 给出量化后的级和输出值 误差控制编码 bchpoly 给出二进制BCH码的性能参数和产生多项式convenc 产生卷积码 cyclgen 产生循环码的奇偶校验阵和生成矩阵cyclpoly 产生循环码的生成多项式 decode 分组码解码器 encode 分组码编码器 gen2par 将奇偶校验阵和生成矩阵互相转换gfweight 计算线性分组码的最小距离 hammgen 产生汉明码的奇偶校验阵和生成矩阵rsdecof 对Reed-Solomon编码的ASCII文件解码rsencof 用Reed-Solomon码对ASCII文件编码rspoly 给出Reed-Solomon码的生成多项式syndtable 产生伴随解码表 vitdec 用Viterbi法则解卷积码 (误差控制编码的低级函数) bchdeco BCH解码器 bchenco BCH编码器 rsdeco Reed-Solomon解码器 rsdecode 用指数形式进行Reed-Solomon解码 rsenco Reed-Solomon编码器 rsencode 用指数形式进行Reed-Solomon编码 调制与解调

matlab快捷键大全

1.使用“Tab”键可以在Matlab进行命令输入时补全变量名或者命令名; 2.使用“Ctrl+C”组合键能够强制从运行的或者进入死循环的Matlab程序中退出; 3.使用“上”“下”方向键能够调用Matlab的历史命令; 4.Matlab的变量命名规则注意: a.区分大小写; b.必须以字母开头; c.中间不能有空格、标点符号等; 5.在一条命令或语句的末尾加上一个分号,则Matlab就不会在屏幕上显示这条命令计算的结果; 6.在Matlab中,“...”(3个句点)称为“续行符”,表示同一语句的延续输入; 注意:只有当续行符出现在变量名和运算符之间,才能起到语句延续的作用。出现在一个变量名中间时,是不能实现语句延续的。换句话说,变量名不能分割成两行书写。 7.在进行三角函数运算时,Matlab使用的是“弧度制”而不是“角度制”; 8.选择需要注释的语句块以后,使用“Ctrl+R”可以进行Matlab语句注释;使用“Ctrl+T”可以进行语句块的解注释; 9.Matlab数组的下标是从“1”开始的,这点与C语言不同; 1 0.使用空格和逗号隔开的元素指定的是同一行的元素,使用分号或者回车分开的元素指定的是不同行的元素。 Q1:matlab有没有监视内存的方法? A:用函数whos。 Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...

A:换matlab7的sp2。 Q3:自从安装matlab,一开机就在进程里有matlab。 能不能开机的时候进程就不运行matlab? A:开始-->控制面板-->管理工具-->服务 把MATLAB Server的属性改成“手动”就行了。 Q4:退出matlab7程序运行的快捷键。 A:ctrl+q Q5:matlab7远程控制是否有限制? A:不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。 Q6:Matlab占用资源太多怎么办? A:用matlab-nojvm启动(如果不需要图形界面)。 Q7:怎样给matlab添加新的toolbox? A:在matlab的文件菜单里边添加路径,选set path。 Q8:请问matlab有没有命令可以调出历史输入啊? A:command history窗口。 Q9:matlab7.0不能在64位的cpu下运行? A:matlab应该是依赖于自己的虚拟机的 但是好像这个虚拟机是在IA32里面作出来的,所以,应该找个带64位的java虚拟机替换原来的,不过不一定能行or so,记不清了) Q10:matlab有没有注释一段的功能? A:选中一段代码,ctrl r就是区段注释 选中一段代码,ctrl t取消区段注释

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

matlab常用计算命令

Matlab常用计算命令(部分) by sunny_疑似天人 1.多项式运算: poly2sym函数,将给定的多项式系数向量转化为符号表达式,以降幂排序。 poly函数,得到矩阵的特征多项式(首项系数为1)的系数向量,然后也可以用poly2sym函数转化为多项式的符号表达式。 roots函数,得到方程的根,调用形式为roots(a),其中a 为多项式的系数;也可以直接调用roots([1 2 1])。 compan函数与eig函数,通过compan函数建立多项式的伴随矩阵再通过eig函数求伴随矩阵特征值以得到多项式的所有根。效果与roots函数相同;同时这两个函数也可单独使用: compan函数,建立多项式的伴随矩阵,如:a=[1 2 3 ];compan(a) ans = -2 -3 1 0 eig函数,求矩阵的特征值。 conv函数,求多项式的乘积,如:pd=conv(p,d),其中p和d均为多项式系数向量,得到的同样也是多项式的系数向量。 deconv函数,求多项式的除法。 polyder函数,求多项式的微分。即求一阶导数,如果要求多项式的高阶微分,可以通过循环实现。

polyfit 函数,对数据拟合得到多项式,这个多项式即可大致代表数据变化规律。例如: x=0:pi/20:pi/2; y=sin(x); p=polyfit(x,y,5) x1=0:pi/30:pi*2; y1=sin(x1); y2=polyval(p,x1); plot(x1,y1,'b-',x1,y2,'r*') legend('原曲线','拟合曲线') axis([0 7 -1.2 4]) p = 0.0057 0.0060 -0.1721 0.0021 0.9997 0.0000 1 2 3 4 5 6 7 -1-0.500.511.522.533.54 原曲线拟合曲线 2.向量及其运算 x=linspace(a,b,n),生成一个向量x ,其中a ,b 分别是生成矢量的第一个和最后一个元素,n 是采样总点数。当n 缺省时默认生成100维的向量。

matlab代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除内存中的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述

matlab基础实验

实验一 MATLAB基础知识 一、实验目的 1.熟练掌握Matlab的启动与退出; 2. 熟悉Matalb的命令窗口,常用命令和帮助系统; 3. 熟悉Matalb的数据类型; 4. 熟悉Matlab的基本矩阵操作,运算符和字符串处理 二、实验设备 1.方正电脑 2.MATLAB软件 三、实验内容 1. 已知矩阵 A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] 写出完成下列操作的命令: (1) 将矩阵A的第2-5行中第1,3,5列元素赋给矩阵B; (2) 删除矩阵A的第7号元素; (3) 将矩阵A的每个元素加上30; (4) 求矩阵A的大小和维数; (5) 将矩阵A的右下角3*2矩阵构成矩阵C; (6) 输出[-5,5]范围内的所有元素; 程序: A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] %(1) B=A(2:5,[1 3 5]) %(2) A2=A; A2(7)=[] %(3) A3=A+30 %(4) length(A) size(A) %(5) C=A(end-2:end,end-1:end) %(6) A6=A.*(A>=-5 & A<=5) 结果: A =

3 4 -1 1 -9 10 6 5 0 7 4 -16 1 -4 7 -1 6 -8 2 -4 5 -6 12 -8 -3 6 -7 8 -1 1 8 -4 9 1 3 0 B = 6 0 4 1 7 6 2 5 12 -3 -7 -1 A2 = Columns 1 through 7 3 6 1 2 -3 8 5 Columns 8 through 14 -4 -4 6 -4 -1 0 7 Columns 15 through 21 5 -7 9 1 7 -1 - 6 Columns 22 through 28 8 1 -9 4 6 12 -1 Columns 29 through 35 3 10 -16 -8 -8 1 0 A3 = 33 34 29 31 21 40 36 35 30 37 34 14

MATLAB绘图功能大全

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab 还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一、二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 (一)绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x 坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线: >> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*sin(t).*sin(t); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。

第一章 基本MATLAB基本命令

MATLAB学习指南 第1章.基本MATLAB指令 1.1.基本数量运算 首先,我们来谈一谈怎样向程序中添加注释(例如此行)。注释就是我们向程序中添加的文字,用来解释我们在做什么。所以,如果我们或其他人以后读到此代码,就能很容易地理解代码在执行什么指令。在一个MATLAB文件中,如果百分号%出现在一行文字中,百分号后面的所有文字都是注释,而不是MATLAB想要进行解释的指令。首先,我们向屏幕输入信息,告诉计算机我们开始运行1.1节。 指令disp('字符串')在屏幕上展示了文本字符串。 接下来,我们令一个变量等于1。 如果x没有被声明,这一指令先为变量x在内存中分配一个空间,然后又将x的值1存储在所分配的空间中。同时,这一指令会将"x = 1"显示在屏幕上。通常,我们不希望像这样的输出结果把屏幕弄得杂乱,所以我们在指令的最后加上一个分号就可以使指令变得“不可见”。例如,我们使用下列指令把x的值“不可见地”变为2,然后将结果显示在屏幕上。x=2;x的值发生了改变,但是却没有显示在屏幕上 disp('我们已经改变了x的值'); 然后,通过输入“x”,不带分号,我们显示x的值。 现在,我们来看如何声明其它变量。 y=2*x; 对y的值进行初始化,使其等于x的值的2倍。 x=x+1;使x的值增加1。 z=2*x; 声明了另一变量z。 因为在声明变量z时x的值已经发生了变化,所以z不等于y。 接下来,我们想看存储在内存中的变量的列表。我们使用指令“who”来实现。 通过使用“whos”我们能得到更多的信息 我们也可使用这些指令来得到有关仅有的某些变量的信息。

我们想要去掉变量“差”。 使用指令“clear”来实现。 接下来,我们想要去掉变量x和y。 我们再次使用指令“clear”。 一般来说,好的程序设计模式都要求每行只编写一个指令;但是,MATLAB却允许将多个指令放在一行。 更普遍的情况是,由于语句结构的长度使得我们希望一个指令能够分成多行。这可通过使用3个点来实现。 最后,当使用指令“clear all”时,我们可一次去掉所有变量。 1.2.基本向量运算 声明一个变量最简单的,但不值得推荐的方法就是逐一输入其分量。 x显示x的值 一般来说,最好一下子声明一个变量,因为这样的话MATLAB从一开始就知道它需要分配多少内存。对于大型向量,这会更加有效。 y=[1 4 6] 与上述代码作用相同。 注意到这次声明了一个行向量。为得到一个列向量,我们或者使用转置(复合x的伴随矩阵)算符xT=x’;把实行向量x进行转置,或从一开始就将其变成列向量。 为了看到行向量和列向量在大小上的不同,使用指令“size”便可返回向量或矩阵的大小。

MATLAB常用指令

MATLAB常用指令 1.常用命令-->管理命令和函数 addpath 添加目录到MATLAB搜索路径 doc 在Web浏览器上现实HTML文档 help 显示Matlab命令和M文件的在线帮助 helpwin helpdesk help lookfor 在基于Matlab搜索路径的所有M文件中搜索关键字partialpath 部分路径名 path 所有关于路径名的处理 pathtool 一个不错的窗口路径处理界面 rmpath 删除搜索路径中指定目录 type 显示指定文件的内容 ver 版本信息 version 版本号 web 打开web页 what 列出当前目录吓所有的M文件Mat文件和Mex文件whatsnew 显示readme文件 which 显示文件位置 (返回) 2.常用命令-->管理变量和工作区(输入输出、内存管理等) clear 从内存中删除 disp 显示文本或数组内容 length 数组长度(最长维数) load 重新载入变量(从磁盘上) mlock 锁定文件,防止文件被错误删除 munlock 解锁文件 openvar 在数组编辑器中打开变量 pack 整理内存空间 save 保存变量到文件8*) size 数组维数 who 列出内存变量 whos 列出内存变量,同时显示变量维数 workspace 显示工作空间窗口 (返回) 3.常用命令-->管理命令控制窗口(command窗口) clc 清空命令窗口 echo 禁止或允许显示执行过程 format 设置输出显示格式 home 光标移动到命令窗口左上角 more 设置命令窗口页输出格式 (返回)

matlab常用命令

matlab常用命令 1.Patch [1,1,1]表示白色; 2.潮汐椭圆:ECC为短轴与长轴的比率;负值表示椭圆逆时针旋转; INC表示东方向与主轴 的夹角,PHA表示与最小流时间有关. 3.textread (%n)表示读入数据,并转换为双精度数据. 4.[x,y]=ginput(2); [lon,lat]=m_xy2ll(x,y) 以上命令表示在地图上任意点两点,返回该点的经纬度值。 5.matlab保存图像:print(土星句柄,存储格式,文件名) png格式-png 推荐一种,与bmp一样清晰; jpeg:-djpeg 文件小,较清晰; tiff:-dtiff bmp -dbitmap 清晰,文件大 gif -dgif 文件小,不清晰 A a abs 绝对值、模 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具 all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名 any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令

B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令 brighten 亮度控制 C c capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图

matlab内部函数大全

MATLAB函数大全 Matlab有没有求矩阵行数/列数/维数的函数? ndims(A)返回A的维数 size(A)返回A各个维的最大元素个数 length(A)返回max(size(A)) [m,n]=size(A)如果A是二维数组,返回行数和列数nnz(A)返回A中非0元素的个数 MATLAB的取整函数:fix(x), floor(x) :,ceil(x) , round(x) (1)fix(x) : 截尾取整. >> fix( [3.12 -3.12]) ans = 3 -3 (2)floor(x):不超过x 的最大整数.(高斯取整) >> floor( [3.12 -3.12]) ans = 3 -4 (3)ceil(x) : 大于x 的最小整数 >> ceil( [3.12 -3.12]) ans = 4 -3 (4)四舍五入取整 >> round(3.12 -3.12) ans = >> round([3.12 -3.12]) ans =

3 -3 >> 如何用matlab生成随机数函数 rand(1) rand(n):生成0到1之间的n阶随机数方阵rand(m,n):生成0到1之间的m×n的随机数矩阵(现成的函数) 另外: Matlab随机数生成函数 betarnd 贝塔分布的随机数生成器 binornd 二项分布的随机数生成器 chi2rnd 卡方分布的随机数生成器 exprnd 指数分布的随机数生成器 frnd f分布的随机数生成器 gamrnd 伽玛分布的随机数生成器 geornd 几何分布的随机数生成器 hygernd 超几何分布的随机数生成器 lognrnd 对数正态分布的随机数生成器 nbinrnd 负二项分布的随机数生成器 ncfrnd 非中心f分布的随机数生成器 nctrnd 非中心t分布的随机数生成器 ncx2rnd 非中心卡方分布的随机数生成器 normrnd 正态(高斯)分布的随机数生成器 poissrnd 泊松分布的随机数生成器 raylrnd 瑞利分布的随机数生成器 trnd 学生氏t分布的随机数生成器 unidrnd 离散均匀分布的随机数生成器 unifrnd 连续均匀分布的随机数生成器 weibrnd 威布尔分布的随机数生成器 一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数

matlab中的矩阵的基本运算命令

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

MatLab常用函数大全

1、求组合数 C,则输入: 求k n nchoosek(n,k) 例:nchoosek(4,2) = 6. 2、求阶乘 求n!.则输入: Factorial(n). 例:factorial(5) = 120. 3、求全排列 perms(x). 例:求x = [1,2,3]; Perms(x),输出结果为: ans = 3 2 1 3 1 2 2 3 1 2 1 3 1 2 3 1 3 2 4、求指数 求a^b:Power(a,b) ; 例:求2^3 ; Ans = pow(2,3) ; 5、求行列式 求矩阵A的行列式:det(A); 例:A=[1 2;3 4] ; 则det(A) = -2 ; 6、求矩阵的转置 求矩阵A的转置矩阵:A’ 转置符号为单引号. 7、求向量的指数 求向量p=[1 2 3 4]'的三次方:p.^3 例: p=[1 2 3 4]' A=[p,p.^2,p.^3,p.^4] 结果为:

注意:在p 与符号”^”之间的”.”不可少. 8、求自然对数 求ln(x):Log(x) 例:log(2) = 0.6931 9、求矩阵的逆矩阵 求矩阵A 的逆矩阵:inv(A) 例:a= [1 2;3 4]; 则 10、多项式的乘法运算 函数conv(p1,p2)用于求多项式p1和p2的乘积。这里,p1、p2是两个多项式系数向量。 例2-2 求多项式43810x x +-和223x x -+的乘积。 命令如下: p1=[1,8,0,0,-10]; p2=[2,-1,3]; c=conv(p1,p2) 11、多项式除法 函数[q ,r]=deconv(p1,p2)用于多项式p1和p2作除法运算,其中q 返回多项式p1除以p2的商式,r 返回p1除以p2的余式。这里,q 和r 仍是多项式系数向量。 例2-3 求多项式43810x x +-除以多项式223x x -+的结果。 命令如下: p1=[1,8,0,0,-10]; p2=[2,-1,3]; [q,r]=deconv(p1,p2) 12、求一个向量的最大值 求一个向量x 的最大值的函数有两种调用格式,分别是:

matlab常见操作123

1.示波器图像导出处理1)仿真用示波器查看2)matlab命令框中输入:shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 图片的菜单就出来了。。。3)在edit菜单中编辑波形4)edit-copy figure复制波形到word文档。 2.在matlab命令窗口里,在语句行尾加上三个英文句号表示续行;运算符=、+、-前后的空格不影响计算结果;在输入命令后以分号结束,则不会显示命令执行结果,但可使程序运行速度大大提高,这对大量输出数据的成句特别有用;可用Ctrl+c键来终止正在运行的程序。 3.启动matlab默认窗口设置Desktop Layout—>Default,则四个小窗口则按系统默认的布局显示。Save Layout保存布局显示 4.运行matlab语句或程序时有三种方式:1)在已安装的Notebook 的Word窗口的英语输入状态下,输入matlab语句或程序,用鼠标左键将其选中,然后点击Notebook——>Evaluate Cell,即为程序的Notebook执行方式。计算的数据与绘图都保留在word环境里。 2)在matlab命令窗口中直接输入指令或语句并按回车键运行。3)程序文件执行方式:在“Untitled”模型文件窗口中输入程序并以某文件名存盘,然后在matlab命令窗口中输入改文件名,按回车执行该程序。计算的数据保存在matlab的命令窗口中,如有绘图,则另弹出figure画面。常用

matlab基本运算与函数

1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter 键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。 小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例:y = sin(10)*exp(-0.3*4^2); 若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 下表即为MATLAB常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数 rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数 (Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 > 小整理:MATLAB常用的三角函数 sin(x):正弦函数

MATLAB常用函数

1概述安装介绍(略)。 2 矩阵和数组 2.1 创建特殊矩阵函数 Compan 伴随矩阵Diag 对角矩阵Eye 单位矩阵Gallery 测试矩阵Hadamard hadamard矩阵Hilb hilb矩阵Invhilb invhilb矩阵 Magic魔方矩阵Ones 全一矩阵Rand均匀分布随机矩阵 Randn 正态分布随机矩阵Rosser经典对称特征测试矩阵 Wilkinson wilkinson特征值测试矩阵Zeros 全零矩阵 注:diag(A,n)以向量A为主对角线为基准偏移n个位置。 2.2 矩阵连接 水平c=[a,b]或者c=[a b] 垂直c=[a;b] 连接函数(1)Cat 指定方向;(2)Cat(1,a,b)水平;(3)Cat(2,a,b)垂直;(4)Horzcat 水平方向;(5)Vertcat 垂直方向(6)Repmat 对现有矩阵复制粘贴(7)Blkdiag 以对角阵方式重组。 2.3 改变矩阵形状 Reshape 制定行列重排;Rot90 逆时针90;Filplr 垂直方向为轴旋转180;Flipud 水平方向为轴旋转180;Flipdim 指定方向为轴翻转矩阵 2.4 向量生成函数 Linspace(a,b)首尾为a,b的100个数;Linspace(a,b,n) Logspace(a,b)以10为底;Logspace(a,b,n);Logspace(a,pi) 2.5 矩阵信息的获取 Isempty 判断为空;Isscalar 判断为标量;Isvector 判断向量;Issparse 判断稀疏矩阵;Isa 判断指定数据类型;Iscell 判断元胞数组类型;Iscellstr 元胞字符串数组类型;Isfloat 判断浮点数;Isinteger 判断整形类型;Islogical 判断逻辑类型Isnumeric 判断数值类型;Isreal 判断实数类型;Isstruct 判断结构体类型;Length 最长维长度;Ndims 维数;Numel 元素个数;Size 指定维长度 3 数据类型

相关文档