EDA365电子论坛网

标题: MATLAB常见问题集 [打印本页]

作者: monsterskyy    时间: 2021-5-24 10:53
标题: MATLAB常见问题集
matlab安装、运行与其他问题集
+ g) @1 Z- n* j. L+ J- iQ1:matlab有没有监视内存的方法?
5 I5 _/ Y3 i' e9 o* ^A: 用函数whos。
Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...' e! Y6 ]2 R0 k+ o3 C" J, q
A: 换matlab 7的sp2。
Q3:自从安装matlab,一开机就在进程里有matlab。) r% J1 R9 P& x3 M$ J9 F
能不能开机的时候进程就不运行matlab?
1 N, U3 s# n% N. k% F+ V2 u# BA: 开始-->控制面板-->管理工具-->服务5 e9 x) M) E' Q) z  M
把MATLAB Server的属性改成“手动”就行了。
Q4:退出matlab7程序运行的快捷键。; k9 _4 p  y0 r* Z
A: ctrl+q
Q5:matlab7远程控制是否有限制?5 K5 [7 f# o( y/ x! [; O# y# Q4 x: S
A: 不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。
Q6:Matlab占用资源太多怎么办?
+ M5 q. x  V2 uA: 用matlab -nojvm启动(如果不需要图形界面)。
Q7:怎样给matlab添加新的toolbox?
% i0 ~& u. D% ]7 CA: 在matlab的文件菜单里边添加路径,选set path。
Q8:请问matlab有没有命令可以调出历史输入啊?
( Y1 u% k- T) t! L! x2 w# W7 ]A: command history 窗口。
Q9:matlab 7.0 不能在64位的cpu下运行?  ]. a  S2 B$ t
A: matlab 应该是依赖于自己的虚拟机的
; z  b1 M* q* p7 E7 q9 s但是好像这个虚拟机是在 IA32 里面作出来的,所以,应该找个带 64 位的
5 s" P7 l3 X( ~+ x- z& mjava 虚拟机替换原来的,不过不一定能行 or so,记不清了)
Q10:matlab有没有注释一段的功能?
0 u2 X  ]2 r$ U8 S' s& G  ~A: 选中一段代码,ctrl r就是区段注释
, R& O  X4 x6 _! u选中一段代码,ctrl t取消区段注释
Q11:今有WINDOWS版MATLAB7,启动时只出现版权画面,然后进程结束。5 C+ X8 `. a- v0 k, h( l
A: 用matlab -nojvm可以启动,但是报了OpenGL错误的信息,估计是显卡比较
: k7 w7 Y# l+ W3 P8 [4 B差或驱动程序不好。在显示属性里关闭硬件加速即可。
matlab常用命令参考9 l% ~' J+ N; X8 i
1、学会用help和doc函数。
2、输入输出文件:save/load; N2 G) X- U, v# j( ^- S. s& R
在屏幕上显示文件:type
3、解线性方程组AX=B:X=A\B
4、作图时两张曲线合并:hold on或者subplot作子图
5、程序计算时间:tic,toc或者clock
6、变量显示方式更改:format long/short/bank...
7、数组元素求和:sum
8、求数组长度:length
9 ?; Q% W+ p+ p( B$ ~- K6 Y+ }求矩阵维数:size或者ndims 矩阵元素个数:numel
9、函数作图:0 d8 e  o$ o( j$ `" `+ h
饼图:pie/pie3 误差图:errorbar 散点图:scatter/scatter3; @0 o9 \9 _6 [) m" H. d4 k
直方图:hist 函数图:fplot 动画:movie
10、矩阵分析:" W) E7 _. U: \$ _
左右翻转:fliplr 上下翻转:flipud 转置:transpose% @1 y2 D; l4 f2 `/ E/ J* t
矩阵求逆:inv 矩阵范数:norm 条件数:cond
+ y" C/ d$ \$ ]1 _/ G; o5 p3 u初等变换:rref 特征值:eig/eigs
11、特殊矩阵:
1 s, b3 c3 G+ s, t! M8 E0 o元素全为1的矩阵:ones 元素全为0的矩阵:zeros% h5 }! W8 S" n7 M
单位阵:eye 魔方阵:magic5 a, N; I; x, y2 d) ~) a
线性变化数组:linspace 聚合矩阵:cat/horzcat/vertcat
12、随机数:
2 u' ?6 e! E" X( n创建一个元素服从均匀分布的随机数数组:rand
4 W/ d5 D% F, f8 E) W创建一个元素服从正态分布的随机数数组:randn; [6 U* N; ?5 T# B& c$ H& W# x' w
二项分布:binornd 指数分布:exprnd F分布:frnd7 U: z8 N: g1 J! W1 `
几何分布:geornd 超几何分布:hygernd 泊松分布:poissrnd3 P& \7 T( w; J2 {0 @3 r
正态分布:normrnd 离散均匀分布:unidrnd 连续均匀分布:unifrnd
13、清屏:clc 清理内存:clear
14、字体显示变更等:preferences
15、得到一个文件夹的所有文件名:ls
16、语句太长的话可以再句末加...换行。
matlab与其他软件调用问题集
Q1:如何在c++里可以调用matlab6.5的数学库?
, N* c1 S) W: L, `) FA: 6.5版的第三张cd里的cppmath_ug2b.pdf、cppmath_ref2b.pdf8 N: B! g. i% M: s1 c
比较详细的介绍了Matlab C++ Math Library
Q2:matlab的库能生成c代码吗?7 F8 R0 ]* S# @& U* D2 m5 S& m  l
A: 库就是compile过,等着被其它程序link的,, K6 y& h. h& X; w0 ]4 g8 M, ?  B
即能得到效率又能隐藏算法,都放在matlab安装目录的\extern\lib;\bin\win32  F$ ^- w1 P8 Q! ^
下面要看算法的话,就查阅help,一般会简单地介绍下算法,或者用到的文献什" \8 R$ n3 C9 P4 ^
么的。库是帮你写好的算法,用就可以了
Q3:关于matlab中的xlsread函数5 O' h" [" Z: b) j
A: 这个函数可以读出excel数据。先把excel里面数据复制粘贴到记事本,4 B3 E# d+ k+ o$ m4 A0 H1 R
再textread进去。
Q4:请问如何在matlab中插入c代码?
1 D. U* u2 e- ^5 LA: 需要把c代码编译成mex文件,需要把c代码编译成mex文件。& j# I5 W$ @0 W6 i* }  w
6.5版的第三张cd里的apiext.pdf、apiref.pdf介绍了怎么把c代码编译成mex。
Q5:如何将excel数据导入matlab?" H  h' o, k! t8 k, X( y
A: ExcelLink。
Q6:java如何和matlab互相调用?) c! j( K4 {  v! k; c% u1 Q6 ?
A: matlab环境(完整环境)内置了java虚拟机,所以普通的java类都可以在matlab环境! ]1 {) N* _( q7 W7 L; S" ?7 c
中直接使用。
+ {. H; i  j  x9 D+ E% \. Z$ r7 c. B/ p' p事实上matlab很多程序例如界面,还有数据库借口,都是由java创建的。
' M6 [* F/ I$ o9 z  l2 ~2 H6 t关于java与matlab数据的交互,帮助上讲的比较清楚。
matlab插值与拟合问题集
Q1:就是给出几个点,要求一个给定阶数的多项式,使他最接近这几个点。类似?[0m
9 B8 M$ Q" h* R5 y% T0 T* T7 Y/ ]2 X- y+ b线性回归。
* `9 l5 z) j( F; G$ s$ W4 oA: [a,S]=polyfit(x,y,n)2 M* R# }. [; G0 {, T5 m
[ye,delta]=ployval(a,x,S)9 r6 G! O2 f+ t4 Q" v' A
%a为所得的多项式系数
Q2:如何做最简单的一维拟合?5 u; C" c  E5 @% [' S' n' N  ~8 K4 H* f
A: yy=spline(x,y,xx)
matlab图形与图象问题集锦
Q1:比如一个函数C(x,y,z),想做一个3维等值面图,该如何做?
% t/ a4 R/ u. g( D7 V! ^A: help contour3/help uicontrol 在plot出来的figure上做个小控件吧。
Q2:请问怎么把MATLAB里用程序实现的动画导入到Powerpoint演示呢?7 B, k  d( a2 K5 R
A: matlab有avifile,getframe,addframe,pause等做avi动画的函数的。
' R3 u" R( _0 d. q/ ~$ a做好的avi放在ppt,如果要暂停之类的功能,是ppt或者播放器的事情了。
' \) G8 b( s' y' ^+ o  |! ?matlab提供了com组件来和其它应用程序进行通信在ppt里写个vba调用matlab。3 ?5 X- B  H8 w7 Y: K
细节可以在help文档里查找vba和com关键字
Q3:我们可以用subplot画出两个不同的曲面图,那怎么样才能使得这两个曲面图0 ?! B. x! j" I5 j
各自用到不同的颜色对照表呢?如果画完一个然后用不同的colormap,) c) [( ^  D/ k
两张图会变成一样的。
: l. }! e) a; D8 SA: 如果是曲面图的话?atch对象或者surface对象自己有颜色映射表的。
% I0 o5 F9 u* X5 [其实说白了,colormap也是对颜色的索引罢了,例如surface对象而言,也就是第  E9 P, b6 \: }; L# T" o
三位的颜色表。支持的形式有两种:索引以及RGB直接表示.采用第二种就可以解决
$ g% w: X  {2 e4 o% |+ B这个问题.毕竟对于figure对象而言,colormap没有太大的意义.
( Z) }/ e2 @/ K2 U以下附实现的方法,以供讨论: (见合集2005年之38)
1 K8 m7 c/ U; x- f4 j/ i- N) s原理是通过改变caxis的值。
Q4:虽然用subplot可以在一个窗口中显示多幅图像,但是每幅图像之间有较大间距。
. Z7 ~. l) i+ K/ D- b1 U现在想让多幅图像紧挨着显示(比如说2行两列共4个图像),该如何实现?
' R1 b( a, q6 k( z! z3 b, AA: subplot('Position',[left bottom width height])
! k" Q( Y" X9 X或者axes('PropertyName',PropertyValue,...)
Q5:matlab 怎么画球?
6 g- Z0 g3 L: ~) P# QA: sphere函数。
Q6:matlab由图上直接取某个值命令?
% w" G0 H/ n1 F- ^6 }  RA:ginput。
Q7:请问用什么命令可以让figure窗口中的图形输出到指定的文件中?
* [0 s! \8 d1 P: |' w图片数量很大。5 n0 N3 w. @5 g) O5 N/ ~7 K! z
A: print和matlab 的 notebook 功能
Q8:怎么能让一个plot命令执行完了以后重新开一个chart window画下一个图?4 j5 \0 R/ B4 a% M
A: figure。
Q9:请教matlab坐标不等距画图。如果坐标轴上标的量希望不要均匀应该怎么操作?. A5 K( l7 x2 k& K9 H1 x7 O7 h
A: semilogy/xtick,ytick。
Q10:如何在matlab中接摄像头自动获取图像?* R, Z* ~, q+ y- w! l: L( X
A: 比较简单的是调用现成的Activex、Com控件来完成,缺点是至今无法编译。$ P: N& t* Y8 P* L$ i
第二种是自己写硬件接口,优点是可以编译,并且自定功能,缺点是耗时。
Q11:请问matlab绘图能有动态效果吗?
4 D; ]) ^; O) ]  |$ _* ]( k1 oA: 延时、清屏、重画。ing like that
2 G) |# Z8 O- I% w5 p# S如果闪烁的话打开double buffer
, G. i, k8 ?7 U高兴的话还可以做成avi movie(frame2avi or so)9 E+ v& h% o1 D% b* d$ s
还有慧星图 comet
Q12:怎么样更改colorbar中的字体?* b7 T. _8 }  o( ~2 r9 a
A: colorbar说白了就是一个axes对象.
9 d( s& p1 D, O9 x( ?这样:了傅幕按蚩猟ouble buffer
. N+ B3 k4 o4 Y7 u1 EColorbarHandle = colorbar ;(frame2avi or so), }# s/ u: u2 R* b' h0 L! E. ]7 |
set(ColorbarHandle, 'FontSize', 20);
Q13:请问matlab中画多张图如何使用同一的colorbar?
. T1 `) g: n/ s$ ~' q! WA: z值映射到colormap,colorbar通过z值和colormap的映射关系生成的,所以需要* n" l) w. G+ f$ G2 H
将不同的figure,z值映射相同的colormap索引。
Q14:在MATLAB里如何显示一副图像,但使其背景为透明的?
2 ?0 K2 o/ n6 V( s* u8 YA: 用 image 画了之后再把 axis 关掉(axis off)
matlab运筹与统计问题集锦
Q1:在matlab7.0中求解线形规划的函数?% }- N6 A6 N, x0 x6 k9 u& K" w
A: linprog一般能直接给出结果,参数设定可参阅help。
Q2:matlab中如何做回归分析?! _5 i, ~" o* k! }' L: B; S
A: Statistics Toolbox。
Q3:已知两个正态分布的均值和方差,matlab里有什么函数可以直接求出来?9 V* f8 ?4 v7 I8 l# F
A: 用fminsearch函数。
Q4:已知两个变量符合一个联合正态分布参数,能否用matlab生成这两个随机数?2 U% w0 ]  q' d5 U0 M
A: 先生成两个独立正态随机数,然后利用正态分布的性质,用线性变换过去。' l  }# W6 j. p# P0 }
也可参阅statistics toolbox中类似于 multirnd 还是什么
Q5:求解一个不等式外加两个约束条件用什么函数好呢?* I8 n4 R" B3 A" q7 N; {  |
A: 试试用规划中的fmincon函数。
0 N  k4 o9 c  m, t# o+ P, l3 p: X

1 `7 N% E& X$ u3 G" x, _% U

: h# O7 Y0 \" O8 d' b! ]7 T
作者: modengxian111    时间: 2021-5-24 13:05
好东西,收了
作者: shapeofyou888    时间: 2021-5-24 16:53
很实用的分享




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2