MATLAB中很有用的牛人总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB中很有用的总结

请耐心看完,下面的东东对你肯定有帮助^_^

一、安装及调试

I Matlab版本推荐

1、配置较差6.5,较好7或其以上

2、使用version命令可以查看matlab版本

3、版本对应:2006a--7.2,2007a--7.4,2008a--7.6

II Matlab参考书推荐(参见板上的ftp)

1、张志涌,北航,精通Matlab6.5

2、王正林、刘明,精通Matlab7

III 安装相关

1、序列号请到精华区查找

2、安装matlab时请关闭防火墙和杀毒软件

3、winxp切换到经典主题

IV查看代码

1、type filename

2、edit filename

3、任何地方选中filename点右键的open selection

V调试

ctrl+r 注释多段ctrl+t 解注多段

ctrl+i 自动缩进ctr+[/] 多行想左/右移动一个tab (在for循环格式对齐比较

有用)

keyboard:在函数调制中比较有用,可以看到函数工作空间的变量

ctr+c 强行结束程序(切换到CW(command window)执行)

VI常见错误信息

1、Attempt to execute SCRIPT a as a function.

出现这个错误信息通常是因为变量名和函数名重名。

如不知道自己哪里定义了相关函数或变量,可用which查看

2、一般来说,若是最底层出错指向的是工具箱里面的函数,检查输入格式

二、基本操作

I矩阵

1、1维向量:点运算:对每个数值运算eg: sum(v.^2)-->平方和)

2、2维矩阵:M(i,:)-第i行,M(:,j)-j列,M(i:i+4,j:j+5)-小块矩阵

3、3维矩阵:M(:,:,1)--第1'页'

II基本数学运算

1、解方程

线性X=A\b -->AX=b型

非线性fsolve(),ezplot()--从图形上找--> f(x)=0型

微分dsolve(),ode系列,由(非)刚性选择-->f(x,x')=0

偏微分pde() -->F(x,t,y,au/ax)

2、微积分

微分:diff()输入需为符号型表达式,若是数值型求得为差分

积分:int() 多重积分内置多层int()

3、优化

线性规划linprog() MS只能求36个变量

二次规划quadprog()

III符号运算

1、执行表达式eval()

2、带入参数值feval()

3、符号转数值vpa()

三、画图:

I 二维图

1、把两张图画在一个坐标:

a、plot(x1,y1,'b.',x2,y2,'r*')

b、plot(x1,y1);hold on;plot(x2,y2)

2、双坐标图:plotyy() 共x轴的左右y轴图形

3、多子图:subplot() 任意风格figure数目

4、矢量图:quiver()

5、等高线:contour()

6、画矩形/椭圆rectangle()

7、画线line()

8、直方图bar()

9、饼图pie()

II三维图

1、描点画线: plot3()

2、绘制曲面surface(x,y,z)/ surface(z) -- 着面

mesh(z) 其中x、y需用meshgrid()生成网格IIIfigure操作

1、修改背景色set(gcf,'color',[a b c]);

2、图形点加粗plot(x,y,'b*','MarkerSize',10);默认是5

3、填充图形fill(x,y,'color')

4、坐标轴控制axis()

5、特殊格式上标^ 下标_ 斜体\it 黑体\bf

6、特殊字符\alpha

四、数据处理

I 读取与储存

1、excel(.xls): xlswrite(),xlsread()(若6.5版本无法读出excel中的非数

字内容,可以先将其存为Microsoft excel 5.0/95工簿后再读入)

2、txt数据:textread()

3、图像存储:saveas()

4、示波器(.csv) csvread() 需从第17行开始(DL1620型号)

5、文件读取fread() 返回文件指针

II 三大变换/逆变换

1、傅立叶fft() / ifft() 二维傅立叶变换fft2()

2、z变换ztrans() / iztrans()

3、拉普拉斯laplace() / ilaplace()

III插值拟合:

1、多项式拟合:polyfit()

2、正态分布拟合normfit() 其他可类推^_^

3、拟合工具箱cftool 在command window键入

4、最小二乘lsqcurvefit()

5、线性插值interp1() interp2()...

6、样条插值spline() 有专门的spline工具箱

7、散乱数据插值griddata()

ndgrid() 生成多维函数和插值的数组

pchip() 分段3次hermite插值多项式

8、回归regress()与glmfit()

五、GUI界面

1、消息框msgbox()

2、提示框uiwait() --等待按键继续执行代码。

3、获得文件名与路径uigetfile()

4、GUI数据传送:setappdata(gcbf, 'Data', Data);

Data=getappdata(gcbf, 'Data');

5、通过一个界面弹出另一个界面:直接调用另一界面的m函数即可

六、Simulink

1、自动仿真:

sim(modlename,tspan)---便于观察参数变化的仿真输出

2、参数自动载入:

File-->model Properties-->callbacks-->Model pre-load fun填入产生变量

的m文件。

3、电路仿真:

ctr+E选择合适的仿真方式,含非线性元件一般需改用ode23或ode15

4、自制信号源:

1、简单可以Sources-->Signal Builder中画出波形。

2、将数据生成,写成t,y两行的形式,存成.mat文件格式,用fromfile模块

5、scope图形数据导出:

Scope-->Parameters-->Data History选save data to workspace填写变量名,格

式可选Array,运行后数据存于工作空间。

七、Control与EE相关

I 神经网络(ANN)

1、网络不收敛:输入未归一化(BP)/隐层结点设的不恰当(不是越多越好)

初始权值未缩小/数据本身存在"矛盾组"。

归一化---prestd() 权值缩小:net.LW{2,1}*小数;

2、权值的查看:BP/RBF---net.LW{2,1} 隐层net.b{1} net.b{2}阈值

3、BP的误差最好设置成sse(默认是mse) net.performFcn='sse';

相关文档
最新文档