********************
*MATHTOOLS FAQ V2.0*
********************
1. 如何在Matlab中注释一大段code?
A. 【方法一】选中要注释的内容用右键菜单中的‘comment’;
反注释时,用右键菜单的‘uncomment’
【方法二】选中要注释的内容,按Ctrl+R;反注释时,按Ctrl+T
【方法三】采用%{和%}来注释整块代码。注意,%{和%}需要分别各占一行。例如:
%{
your codes
%}
2. 向量或数组如何求反序,矩阵如何按行或者按列求反序、矩阵旋转的问题
A.在MATLAB中,关键词end除了用来结束循环外,还可以作为向量或数组的最后一个元素的下标值。
【向量、数组】:b=a(end:-1:1),得到的b向量的元素和a向量元素的顺序是恰好相反的。
【矩阵】:
矩阵按行反序:B=A(end:-1:1,:),或
B=flipud(A)
矩阵按列反序:B=A(:,end:-1:1),或
B=fliplr(A)
【矩阵旋转】rot90(A) 命令可以把矩阵A逆时针旋转90度;
rot90(A,k) 可以把矩阵A逆时针旋转k*90度。
3. 什么是取整、表示小数部分的函数?
A. 取整:fix ceil round floor
4. 为什么m文件不能正常运行,但是将代码贴到command window里面就能正常运行了?
A. m文件名与内置的函数冲突。
或者命名不符规则。不要以数字开头,中间不要有空格。
5. 1)如何取出矩阵A中第2,5,6行作为一个矩阵?
2)如何取出矩阵A的第4,3列作为一个矩阵?
3)如何取出矩阵A的第2,4行和5,6列交叉元素作为一个矩阵?
4)如何将一个向量b中等于m的分量全部赋值成n?
5)如何将矩阵A填加一行/列?
6)如何将矩阵A按列写成一个向量?
7)如何将矩阵A的元素重新排列成为一个新矩阵?
A. 1)A([2,5,6],:)
2)A(:,[4,3])
3)A([2,4],[5,6])
4)b(find(b==m))=n
5)A=[A,b]
A=[A;b]
6)A=[1 3 5;2 4 6]
a=A(:) % This statement get a=[1;2;3;4;5;6]
7)用reshape命令,具体用法见帮助文档。
6. matlab混合编程向导(vc,vb,.net...)
A. 参见x-5-9
7.如何在计算的过程当中强行中断?
A. 按Ctrl+c。
8.MATLAB 符号计算如何代入数值,得到符号表达式具体值?
A.用subs函数,subs(S,NEW),可以将表达式S中的自由变量替换为NEW。
subs更多用法请参见帮助文档。
9.Simulink模型中示波器Scope显示不了仿真时间内的所有数据点?
A.在scope的参数设置中有limit data points to last 的设置的
默认为5000,把前面的钩挑掉就可以了。
10.Simulink模型无法打开或保存?
A.基本是因为模型中有非法字符。
解决办法:
如果出现打开模型错误,执行语句:
bdclose all; set_param(0,'CharacterEncoding', 'windows-1252');
如果出现保存模型错误,执行语句:
set_param(0,'SavedCharacterEncoding','ISO-8859-1');
11. Matlab中不能输入某些英文字
A. 切换输入法至没有。注意不是将微软拼音等输入法设置成英文输入,而是关掉输入法。
12. 关于Matlab的远程登录问题
A. 请在版面搜索关键字“远程”,参见之前讨论文章。
13. 关于Matlab字体模糊的问题
A. 参见x-5-10
14.关于多维数组
A. 初始化可用zeros(m,n,p,q,...)。如zeros(3,3,2)产生两个3x3的矩阵作为一个三维矩阵
。zeros(2,3,4,5)产生20个2x3的矩阵。
对其赋值的时候可以单个元素赋值,如zeros(3,2,1)=5。
也可以用矩阵来赋值,如zeros(:,:,2)=[1 2 3;4 5 6;7 8 9]。
自己试试就都清楚了。
--
修改:shaobing1009 FROM 211.99.222.*
FROM 211.99.222.*