matlab,MATLAB常见问题集

MATLAB常见问题集
Matlab的常见问题
===================================
1).Matlab 6.X在Windows 2000/XP上无法启动
2).我有一组x,y,z值,非规则排列,如何在Matlab中绘图?
3).如何在给定句柄的axis里绘图?
4).由Matlab符号运算得到的公式怎么才能将数据代进去运算?
5).在Matlab中如何求最值点?如何求一维数组的极值?
6).Matlab中如何作线性拟合/线性回归/多元线性回归?
7).Matlab中如何作圆回归?
8).Matlab中如何绘制箭头?
9).Matlab中如何作二维数据的插值?
10).Matlab中如何绘制三维数据阵?
11).Matlab中如何注解一大段代码?
12).Matlab中如何计算程序运行的时间?
13).Matlab中如何改变默认的工作路径?
14).Matlab如何改变默认的图形字体?
15).如何在Matlab中实现交互操作?
16).Matlab中为什么只能在小数点后显示四位?
17).Matlab如何在命令窗口按照格式输出?
18).如何在Matlab中画隐函数曲线?
19).Matlab中什么函数可以删除矩阵的某一行或列?
20).Matlab中能开的最大数组是由什么决定的?
21).如何在Matlab中添加新的工具箱?
22).如何读写Matlab的.mat文件?
23).如何得到contour线上的坐标点?
24).如何将Matlab绘制的三维网格图帖到word里?
25).请问可以查看Matlab中函数的源代码吗?
26).Matlab有没有求矩阵行数/列数/维数的函数?
27).Matlab中如何中断运算?
28).Matlab中有没有画圆或椭圆的函数?
29).Matlab下如何定义整形
30).Matlab如何产生均匀分布的白噪声?
31).在Matlab中debug的时候能否跟踪变量的?
32).请问在Matlab中怎样输入特殊符号啊或者上标、下标?
33).Matlab中如何后台运行一个DOS程序?
34).Matlab如何加载输入文件(批处理模式). ?
35).Matlab如何启动时执行规定的文件?
36).如何在Matlab GUI中使用图形背景?
37).大量数据点Matlab绘图为什么很慢?
38).Matlab中如何求解广义积分?即积分限到有无穷的或者有歧
异点的积分(瑕积分)?
39).为什么我的Matlab程序这么慢?
40).Matlab中如何作线性拟合/线性回归/多元线性回归?
>*****************************************************************************<
Matlab的常见问题
>*****************************************************************************<
===================================
1)Matlab 6.X在Windows 2000/XP上无法启动
:#highsun,2001/3/2, SMTH/NewSoftware #
其实也出来很久了,不知大家有没有注意到.
虽然是针对繁体中文系统的,我试过在简体
中文系统下一样可以用。
http://www.mathworks.com/support/solutions/data/26985.shtml
http://www.mathworks.com/support/solutions/data/26990.shtml
Solution Number: 26990
Date Last Modified: 2001-01-30
Product: MATLAB 6.0 ==> Current Version
Platform: Windows
Problem Description
Why do I encounter problems when running MATLAB 6.0 (R12) _disibledevent=>
set(hbar,'parent',haxis);
4)由Matlab符号运算得到的公式怎么才能将数据代进去运算?
:#ramjet (德芙)2002/3/3, SMTH/MathTools #
使用subs(),或先将值赋予一个符号变量,然后用()
5)在Matlab中如何求最值点?如何求一维数组的极值?
:#FangQ([email protected]),2002/6/18, SMTH/MathTools#
最值:
一维或多维数组最值用max(data()
如果想返回最值所在的位置,用[Y,I]=max(data)
:#FangQ([email protected]), 2001/4/21,UESTC/Math#
极值:
data是你的数据,
find(diff(sign(diff(data)))==-2)+1
找到极大值的位置
find(diff(sign(diff(data)))==2)+1
找到极小值的位置
data(find(diff(sign(diff(data)))==-2)+1)和
data(find(diff(sign(diff(data)))==2)+1)
返回的是极大值和极小值
6)Matlab中如何作线性拟合/线性回归/多元线性回归?
:#FangQ([email protected]),2002/6/21, BigGreen/MathTools #
即用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
则可以得到最小二乘意义上的拟合系数
7)Matlab中如何作圆回归?
:#Peter Boettcher ([email protected]),2002/5/16, comp.soft-sys.matlab#
Q5.5: How can I fit a circle to a set of XY data?
=================================================
An elegant chunk of code to perform least-squares circle fitting was
written by Bucher Izhak and has been floating around the newgroup for
some time. The first reference to it that I can find is in:
function [xc,yc,R,a] = circfit(x,y)
%CIRCFIT Fits a circle in x,y plane
%
% [XC, YC, R, A] = CIRCFIT(X,Y)
% Result is center point (yc,xc) and radius R.A is an optional
% output describing the circle's equation:
%
% x^2+y^2+a(1)*x+a(2)*y+a(3)=0
% by Bucher izhak 25/oct/1991
n=length(x); xx=x.*x; yy=y.*y; xy=x.*y;
A=[sum(x) sum(y) n;sum(xy) sum(yy) sum(y);sum(xx) sum(xy) sum(x)];
B=[-sum(xx+yy) ; -sum(xx.*y+yy.*y) ; -sum(xx.*x+xy.*y)];
a=A\B;
xc = -.5*a(1);
yc = -.5*a(2);
R = sqrt((a(1)^2+a(2)^2)/4-a(3));
Tom Davis provided a more sophisticated approach that works for more
cases in and Code included.
8)Matlab中如何绘制箭头?
:#FangQ([email protected]),2002/6/21, SMTH/MathTools #
到http://www.mathworks.com/matlabcentral/fileexchange/index.jsp
2-D Plotting and Graphics中查找arrow.m,或者
http://www.mathworks.com/matlabcentral/spotlight/arrows.shtml
http://www.math.umd.edu/~jec/matcomp/matcompmfiles/mfiles.html
9)Matlab中如何作二维数据的插值?
:#FangQ([email protected]),2002/6/21, BigGreen/MathTools #
对于一维、二维、三维规则数据点阵使用interp1/interp2/interp3,
二维、三维非规则数据用griddata/griddata3
10)Matlab中如何绘制三维数据阵?
:#FangQ([email protected]),2002/6/21, BigGreen/MathTools #
如果使用matlab,打开帮助窗口,在目录树上找到
MATLAB\Using Matlab\3-D Visualization: Volume Visualization Techniques
如果图形复杂,建议使用Tecplot,参见Tecplot手册中数据格式,将你
的三维数据读入Tecplot,双击zone,可以设置mesh/contour/surface
transparency等。
在Field菜单中有3D Iso-surface Details和3D Slice Details,可以绘制等值
面和任意平面的截面图。
11)Matlab中如何注解一大段代码?
:#misc,2002/6/21, SMTH/MathTools #
if(0)
大段的代码
end
12)Matlab中如何计算程序运行的时间?
:#misc,2002/6/21, SMTH/MathTools #
tic
your_code;
toc
或者使用
t=cputime;
your_operation;
cputime-t
13)Matlab中如何改变默认的工作路径?
:#SindyGong, 2002/4/7, SMTH/MathTools #
编辑一个startup.m文件,其中cd yourpath
或者在X:\matlab\toolbox\local\matlabrc.m的最后添加cd yourpath
参见:
http://www.mathworks.com/support/solutions/data/25164.shtml
14)Matlab如何改变默认的图形字体?
:#comp.soft-sys.matlab FAQ#
编辑一个startup.m文件,其中
set(0,'DefaultObjectnamePropertyName',value)
或者在X:\matlab\toolbox\local\matlabrc.m的最后添加
set(0,'DefaultObjectnamePropertyName',value)
15)如何在Matlab中实现交互操作?
:#FangQ([email protected]),2002/6/21,BigGreen/MathTools #
如果只在命令窗口进行交互操作,请参见demo中的例子,主要是
通过input命令和pause/clear/disp等实现的,还有一些窗口资源可以使
用:
uigetfile,uiputfile,uiwait,uisetcolor,uisetfont, uiopen,uisave
inputdlg,msgbox,helpdlg,questdlg,warndlg,errordlg
16)Matlab中为什么只能在小数点后显示四位?
:#FangQ([email protected]),2002/6/21,BigGreen/MathTools #
用format命令来改变命令窗口数字的显示格式和精度,但不会影
matlab的计算精度,matlab的矩阵运算默认都是双精度浮点型运算。
17)Matlab如何在命令窗口按照格式输出?
:#FangQ([email protected]),2002/6/21,SMTHTools #
fprintf(1,"your_format_string",var1,var2,…);
18)如何在Matlab中画隐函数曲线?
:#FangQ([email protected]),2002/6/21,BigGreen/MathTools #
在http://www.mathworks.com/matlabcentral/fileexchange/index.jsp
查找implicit,会找到一个Arthur Jutan写的implot.m
Mathematica中绘制隐函数用ImplicitPlot[]
或者ImplicitPlot3D[]
Maple中为implicitplot(),implicitplot3d()
参见
http://engineering.dartmouth.edu/~fangq/MATH/download/source/Implicit
Plot3D.htm
19)Matlab中什么函数可以删除矩阵的某一行或列?
:#FangQ([email protected]),2002/6/21,BigGreen/MathTools #
A(j,=[]; %删除A的第j行
A(:,i)=[]; %删除A的第i列
20)Matlab中能开的最大数组是由什么决定的?
:# chenft (mike),2002/6/1, SMTH/MathTools #
I have had similar problems. Below is an explanation I received from Ian
Boyd
from Mathworks (just giving credit where credit is due) that explains
what's happening. You solution is to run matlab with the -nojvm mode.
"The heap memory system in J***A consists of data and handle elements.
When you allocate a variable you get a handle and data. As long as data
has an
associated handle, the JVM considers it valid and will not clean it up.
However, when you call the clear function in MATLAB, all handles are
destroyed, and the data associated is now invalid. This means that the
J***A
engine can free up that data (garbage collection), but does not mean
that it will clean it up at that moment.
Calling the PACK command encourages J***A to run the garbage collector
and de-fragment the memory. But it does not force it to (This is part
of the J***A design). Even though the memory is 'freed' _disibledevent=>
of MATLAB will ever get _disibledevent=>
%%%END CODE%%%
This will give you 256MB of JVM memory and you can adjust the parameter
as needed.
Note: $MATLAB is the root directory and $ARCH is your system
architecture. This solution works _disibledevent=>
maxHeapSize = 64000000
These are the structure field names in that correspond to -ms and
-mx, and the settings above are roughly 16MB and 64MB.
To investigate the Java heap a bit, ask via the following:
>> java.lang.Runtime.getRuntime.totalMemory
>> java.lang.Runtime.getRuntime.freeMemory
When the free memory hits zero, Java will double the heap size (up to the
maximum setting).
If you choose to run without Java, you will remove the overhead of the
middle man, but you will also lose some MATLAB functionality (mostly
graphics and the Editor). You will still have most of the computational
power though.
Without J***A, memory management will come directly from the OS, and a
CLEAR operation will result in memory being freed back to the OS.
Tags:  matlab教程 matlab论坛 matlab下载 matlab

延伸阅读

最新评论

发表评论