目录
1. Q:如何在给定句柄的 axis 里绘图?
2. Q:Matlab 中如何作线性拟合/线性回归/多元线性回归?
3. Q:Matlab 中如何作二维数据的插值?
4. Q:Matlab 中如何计算程序运行的时间?
5. Q:如何在 Matlab 中实现交互操作?
6. Q:Matlab 中为什么只能在小数点后显示四位?
7. Q:Matlab 中什么函数可以删除矩阵的某一行或列?
8. Q:如何得到 contour线上的坐标点?
9. Q:Matlab 有没有求矩阵行数/列数/维数的函数?
10. Q:Matlab 如何产生均匀分布的白噪声?
11. Q:请问在 Matlab 中怎样输入特殊符号啊或者上标、下标?
12. Q:Matlab 中如何把向量拓展成矩阵?
13. Q:Matlab 程序运行时如何中止?
14. Q:mean(A,dim)用法?
1. Q:如何在给定句柄的 axis 里绘图?
A:plot(data,'parent',haxis); 或者 hbar=bar(data); set(hbar,'parent',haxis);
2. Q:Matlab 中如何作线性拟合/线性回归/多元线性回归?
A:何作线性拟合是用 y=a*x+b 来拟合一组数据{{x1,y1},{x2,y2}…{xn,yn}},
Matlab 中使用 polyfit x=data(:,1); y=data(:,2);
p=polyfit(x,y,1); p(1)为斜率 a,p(2)为截距 b 多元线性回归即用 y=a1*x1+a2*x2+..+am*xm 来拟合数据点{x1i,x2i,…xmi,yi} (i=1~n) |x11,x21,…xm1| A=|x12,x22,…xm2| |…………… | |x1n,x2n,…xmn| Y={y1,y2,y3,…,yn}' 则系数{a1,a2,…,am}'=pinv(A)*Y。
在 Matlab 中使用 coeff=A\Y 则可以得到最小二乘意义上的拟合系数
3. Q:Matlab 中如何作二维数据的插值?
A:对于一维、二维、三维规则数据点阵使用 interp1/interp2/interp3, 二维、三维非规则数据用 griddata/griddata3
4. Q:Matlab 中如何计算程序运行的时间?
A:tic your_code; toc 或者使用: t=cputime; your_operation; cputime-t
5. Q:如何在 Matlab 中实现交互操作?
A:如果只在命令窗口进行交互操作,请参见 demo 中的例子,主要是通过 input 命令和 pause/clear/disp 等实现的,还有一些窗口资源可以使用: uigetfile, uiputfile, uiwait, uisetcolor, isetfont, uiopen, uisave inputdlg, msgbox, helpdlg, questdlg, warndlg, errordlg
6. Q:Matlab 中为什么只能在小数点后显示四位?
A:用 format 命令来改变命令窗口数字的显示格式和精度,但不会影响 Matlab 的计算精度,Matlab 的矩阵运算默认都是双精度浮点型运算。
7. Q:Matlab 中什么函数可以删除矩阵的某一行或列?
A:A(j,:)=[]; %删除 A 的第 j 行 A(:,i)=[]; %删除 A的第 i 列
8. Q:如何得到 contour线上的坐标点?
A:lcount=5; [c,h]=contour(peaks,lcount); x=get(h,'xdata'); y=get(h,'ydata'); 这里得到的 x 和 y都是 cell 数组,用 x{1}/y{1}来得到每条线上的坐标对,注意, 每条线的最后一个数据是 NaN。
9. Q:Matlab 有没有求矩阵行数/列数/维数的函数?
A:ndims(A)返回 A 的维数 size(A)返回 A 各个维的最大元素个数 length(A)返回 max(size(A)) [m,n]=size(A)如果 A 是二维数组,返回行数和列数 nnz(A)返回 A中非 0元素的个数
10. Q:Matlab 如何产生均匀分布的白噪声?
A:help rand 均匀分布百噪声
help randn 高斯分布百噪声
11. Q:请问在 Matlab 中怎样输入特殊符号啊或者上标、下标?
A:Matlab 的 text/title/xlabel/ylabel 对象支持简单的 TeX 排版语法,如希腊字母, 上下标等。 例如:text(0.5,0.5,'\alpha^\beta_2');
12. Q:Matlab 中如何把向量拓展成矩阵?
A:可以使用 repmat(),例如: repmat([1,2,3]',1,5) 或者使用 kron(),例如: kron([1 2 3]',ones(1,5))
13. Q:Matlab 程序运行时如何中止?
A:快捷键【Ctrl+C】可以强行中止,程序不能继续运行。程序中用 pause 命令, 可以选择中止断点,并按【Enter】键继续运行。
14. Q:mean(A,dim)用法?
A:mean(X):返回向量 X的算术平均值。 A为矩阵时候,mean(A):返回一个行向量,其第 i 个元素是 A的第 i列的算术 平均值。(比如[a1,a2...an])。mean(A,dim):当 dim为 1 时,该函数等同于 mean(A); 当 dim为 2 时,返回一个列向量,其第 i 个元素是 A的第 i行的算术平均值。 (比如[a1,a2...an]')。此类问题可以直接 doc mean 来查看。