MatLab程序基础

来源:互联网 发布:淘宝宝贝销量查询工具 编辑:程序博客网 时间:2024/05/20 20:47

matlab最基础脚本程序的整理,按照自己习惯的学习编程语言的整理方式:数据类型(抽象数据类型)+程序的基本写法(注释、顺序、选择、循环的基本构成)+文件读写方式的纪录+常用的图形处理函数(二维)。

一、相应数据类型
相应数据类型的变量,不需要事先声明,直接使用赋值语句即可;
整数、浮点数、复数、数组、矩阵、结构体[构架数组](structure array)、逻辑变量(整数 or布尔?)

关于struct的构建(可以是一维、多维):
1、直接构造定义,形如: A.image =...A.real = ...
2、利用命令struc进行t构造,
变量名= struct('...域名1...',{...数值1...},...
                        '...域名n...',{...数值n...});
结构体的元素可以是结构体,用来构造多维结构体;

类型转换:double(...) char(...) double转换字符串变成数组形式体现;
查询类型:whos A:可以查询A的形式

二、程序的基本语法
注释符号:%
关系运算: == 、~=、>、>、=<、<=
逻辑表达式:& | Xor ~
控制流程符号:continue、break、return

脚本函数文件/脚本文件,基本的几类语法:顺序、选择、循环;
顺序
--基本的数据结构,分号结束;
几个特殊的功能关键字:(iskeyword可以用来查询关键字)
--input -- 获取用户输入值
--keyboard -- 放置在m文件中,文件将控制权交给键盘,直到用户使用return命令结束后,控制权才交给程序。
--error 和warning/disp("")的差别:error("");显示消息并终止程序执行,warning提示警告信息并继续程序执行;
--errordlg错误提示对话框

选择
if 分支结构
if expression 1
...
elseif ...
...
else
...
end

switch分支结构
switch ...
case value1
case value2
...
otherwise
...
end

循环
while循环
while 逻辑表达式
... ...
end

for循环
for 变量 = 变化范围
... ...
end

检查错误语句
try
... ... //需要检查的部分
catch
... ...出错检查
end

三、编辑程序的脚本文件和函数文件
注意:如果函数文件中调用某个脚本文件,则脚本产生的变量在函数空间中,而非基本空间中;
函数文件总是以function开头,调用函数时允许比标称数目少得变量,函数的输入变量可以受到限制:没有或者任意多个。
function [out1,out2,...]=myfun(x1,x2, ...) x:输入变量,f:输出变量

对于输入输出变量变化:
nargin -- 函数体内,获取实际输入的参数个数;
nargin('fun') -- fun函数指定的输入变量个数;
nargout
nargout('fun')
inputname(n) -- 给出第n个变量的实际调用的变量名;

四、文件处理
文本文件处理:
fopen,fwrite、fclose、csvwrite、dlmwrite...
[fid,message] = fopen(filename,mode)
[fid,message] = fopen(filename,mode,[machineformat])
fclose(fid)
fwrite(fid,...,...)
mode:
r:只读 w:只写覆盖 a:追加 r+读写 w+重新创建文件读写 a+读写和增补文件

load从文件中读取整体变量

excel表格读写:
xlsread,xlswrite,xlsinfo...

图片的读取:
imread,imadd...

五、图形函数
注:如何从matlab的帮助中得到图形的绘制函数?
--doc命令help文档中,能看到demo的实例及其绘制代码;

创建图形窗口:
--figure
--figure(h)
--figure('propertyName',PropertyValue ...)
--h = figure(...)返回图形窗口对象句柄
二维图形(plot)/三维图形(plot3)/特殊图形/四维图形(slice)

二维图形基本函数
plot(x,'propertyName',PropertyValue,...)
plot(x,y'propertyName',PropertyValue,...)//单条曲线
plot(x1,y1,x2,y2,x3,y3,'propertyName',PropertyValue,...)//多条曲线
plotyy(x1,y1,x2,y2)
plotyy(x1,y1,x2,y2,fun)
plotyy(x1,y1,x2,y2,fun1,fun2) -- 左右两个不同的纵轴坐标系,fun为曲线类型
text(x1,y1,'...')--为曲线添加文本说明
subplot(x,y,z)--子图函数,x行,y列的第z个子图 // set(n)
title() -- 标题
xlabel() -- x轴标号
ylabel() -- y轴标号
hold on --开启图形保持功能
hold off --关闭图形保持功能
hold --在on/off之间切换
axis([xlimit min,xlimit max,ylimit min,ylimit max]);
xlim -- x限制
ylim -- y限制
box off/on -- 关闭和显示坐标系范围
legend('signal1','signal2')--标注
axis auto(默认设置)/off(取消坐标轴背景)/ij(原点在左上方)/equal(x,y使用相同坐标)/normal(默认坐标系)/tight(将数据范围设置为刻度)/manual(保持当前刻度)/on(使用坐标轴背景)/xy(原点在左下方)/image(等长刻度,坐标框系数紧贴数据范围)/square(正方形坐标系)/fill(坐标填充整个图形区域)
属性设置:
线形:-实线 :虚线 -.点划线 -- 双划线
颜色:b蓝 g绿 r红 c青 m品红 y黄 k黑 w白
点形:.实心黑点 *八线符 <左三角 d菱形 o空心圆圈 s方块符 +十字符号 ^上三角 >右三角 h六角星 p五角星,x叉字符
plot/fplot/eplot
--fplot(function,limits,tol,LineSpec) // limits的表示方式([xmin xmax],[xmin xmax ymin ymax]),tol容忍误差,linespec 线型/点形/颜色等;
--ezplot(f,[min,max],fig) [min,max]和fig是可选项;画出函数f的图形,[min,max]为自变量范围,可选,默认自变量范围[-2pi,2pi];
其他二维图像
bar/stairs/errorbar/plar/stem/scatter
0 0
原创粉丝点击