EDA365电子论坛网
标题: MATLAB常见问题集 [打印本页]
作者: monsterscvb 时间: 2021-6-3 11:05
标题: MATLAB常见问题集
matlab安装、运行与其他问题集锦
% o( M) P& I$ G) \- JQ1:matlab有没有监视内存的方法?% ]9 D; \9 u$ {9 d7 n
A: 用函数whos。
Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...
$ {7 @- v$ T+ R1 S- `A: 换matlab 7的sp2。
Q3:自从安装matlab,一开机就在进程里有matlab。
" f: d- Q" F5 A. N6 Y" s: J能不能开机的时候进程就不运行matlab?5 R! b1 v2 C* k
A: 开始-->控制面板-->管理工具-->服务
8 u: l" L% Y" q3 m( _2 X9 O把MATLAB Server的属性改成“手动”就行了。
Q4:退出matlab7程序运行的快捷键。
& f6 N0 m6 Q' N% Z6 U, VA: ctrl+q
Q5:matlab7远程控制是否有限制?
, d1 D. g8 P" s6 t; m6 pA: 不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。
Q6:Matlab占用资源太多怎么办?
7 x2 L: }9 E* {; S! aA: 用matlab -nojvm启动(如果不需要图形界面)。
Q7:怎样给matlab添加新的toolbox?
5 W$ O# [7 `) mA: 在matlab的文件菜单里边添加路径,选set path。
Q8:请问matlab有没有命令可以调出历史输入啊?
; Z" g) f9 m6 o7 @% J5 {A: command history 窗口。
Q9:matlab 7.0 不能在64位的cpu下运行?
7 C1 x" e5 \& Y# dA: matlab 应该是依赖于自己的虚拟机的# `4 N; d( L' c! K; g5 c" [
但是好像这个虚拟机是在 IA32 里面作出来的,所以,应该找个带 64 位的* Q% h* f7 a/ b$ X5 ]
java 虚拟机替换原来的,不过不一定能行 or so,记不清了)
Q10:matlab有没有注释一段的功能?
9 `+ Y7 ~% y T, h WA: 选中一段代码,ctrl r就是区段注释
; n# d8 i8 J# a5 B1 D( ^: A/ T$ I选中一段代码,ctrl t取消区段注释
Q11:今有WINDOWS版MATLAB7,启动时只出现版权画面,然后进程结束。
2 k& z9 w( e( ~. d1 v& K+ G& w2 WA: 用matlab -nojvm可以启动,但是报了OpenGL错误的信息,估计是显卡比较4 _7 c+ w0 {; s6 x
差或驱动程序不好。在显示属性里关闭硬件加速即可。
matlab常用命令参考- t$ I# T0 q: y2 n+ L5 b
1、学会用help和doc函数。
2、输入输出文件:save/load0 B7 z9 Z8 K) ?8 P8 y
在屏幕上显示文件:type
3、解线性方程组AX=B:X=A\B
4、作图时两张曲线合并:hold on或者subplot作子图
5、程序计算时间:tic,toc或者clock
6、变量显示方式更改:format long/short/bank...
7、数组元素求和:sum
8、求数组长度:length
S# B! |+ e$ S t6 k求矩阵维数:size或者ndims 矩阵元素个数:numel
9、函数作图:0 _+ p- g9 w# ?
饼图:pie/pie3 误差图:errorbar 散点图:scatter/scatter3
, B9 k4 K1 x1 z* n直方图:hist 函数图:fplot 动画:movie
10、矩阵分析:
8 _2 J/ P+ d2 a8 b3 @/ \: a% b左右翻转:fliplr 上下翻转:flipud 转置:transpose
+ Q, ~5 j. a! e" G矩阵求逆:inv 矩阵范数:norm 条件数:cond
' A" s6 W4 b3 A* R1 i- Y初等变换:rref 特征值:eig/eigs
11、特殊矩阵:' O' V% Z3 e# @, L0 W
元素全为1的矩阵:ones 元素全为0的矩阵:zeros$ N& L7 ?: d& c) S6 O0 L7 x) \
单位阵:eye 魔方阵:magic
: I# z1 O& E/ v7 o线性变化数组:linspace 聚合矩阵:cat/horzcat/vertcat
12、随机数: v# e3 w9 b0 `$ T. R7 g1 D& V5 N
创建一个元素服从均匀分布的随机数数组:rand1 W, U+ ]. i# u; b
创建一个元素服从正态分布的随机数数组:randn
2 I8 `9 [8 ~" X( N+ [& r二项分布:binornd 指数分布:exprnd F分布:frnd# Q+ u5 u% |) B6 L0 x- m3 {! T
几何分布:geornd 超几何分布:hygernd 泊松分布:poissrnd
e) H. G R) T5 I; @: n正态分布:normrnd 离散均匀分布:unidrnd 连续均匀分布:unifrnd
13、清屏:clc 清理内存:clear
14、字体显示变更等:preferences
15、得到一个文件夹的所有文件名:ls
16、语句太长的话可以再句末加...换行。
matlab与其他软件调用问题集锦
Q1:如何在c++里可以调用matlab6.5的数学库?
% u) [, ?9 M- r7 x) E0 pA: 6.5版的第三张cd里的cppmath_ug2b.pdf、cppmath_ref2b.pdf5 Z: L; |& ?' ~6 W7 \
比较详细的介绍了Matlab C++ Math Library
Q2:matlab的库能生成c代码吗?
# Y7 L6 L, ?" n6 D0 AA: 库就是compile过,等着被其它程序link的,: r4 g9 M& H/ P
即能得到效率又能隐藏算法,都放在matlab安装目录的\extern\lib;\bin\win32
! g4 M; |0 f6 R8 e9 c4 a下面要看算法的话,就查阅help,一般会简单地介绍下算法,或者用到的文献什$ N {% a+ l& u8 y( A
么的。库是帮你写好的算法,用就可以了
Q3:关于matlab中的xlsread函数8 g, ]; X0 p$ S' \
A: 这个函数可以读出excel数据。先把excel里面数据复制粘贴到记事本,$ D* i$ D2 z: u/ M
再textread进去。
Q4:请问如何在matlab中插入c代码?2 A' J2 z7 R( l& t- p$ N
A: 需要把c代码编译成mex文件,需要把c代码编译成mex文件。+ y' X8 g$ t) l. _+ n
6.5版的第三张cd里的apiext.pdf、apiref.pdf介绍了怎么把c代码编译成mex。
Q5:如何将excel数据导入matlab?
" r- ?6 K D- ~A: ExcelLink。
Q6:java如何和matlab互相调用?) v. \1 J1 {! ?* O2 M% f- R0 ~" z9 N
A: matlab环境(完整环境)内置了java虚拟机,所以普通的java类都可以在matlab环境. \6 _! I/ f& m8 J$ f
中直接使用。
& K* b! m/ c. u& f8 I J事实上matlab很多程序例如界面,还有数据库借口,都是由java创建的。
% k; q0 [$ B; B O关于java与matlab数据的交互,帮助上讲的比较清楚。
matlab插值与拟合问题集锦
Q1:就是给出几个点,要求一个给定阶数的多项式,使他最接近这几个点。类似?[0m
2 L! m$ A% ]/ I( W$ }6 A. N3 A线性回归。% V& l j. A5 Q
A: [a,S]=polyfit(x,y,n)* O* }' S& B& h: v& ]. Z. q
[ye,delta]=ployval(a,x,S)
) D) s! d) P3 J1 m2 _%a为所得的多项式系数
Q2:如何做最简单的一维拟合?
+ m: D3 I0 f* q$ x( kA: yy=spline(x,y,xx)
matlab图形与图象问题集锦
Q1:比如一个函数C(x,y,z),想做一个3维等值面图,该如何做?
K0 v5 X& l# {9 N" LA: help contour3/help uicontrol 在plot出来的figure上做个小控件吧。
Q2:请问怎么把MATLAB里用程序实现的动画导入到Powerpoint演示呢?
4 [+ b! k& P: C( d" O8 g/ M( pA: matlab有avifile,getframe,addframe,pause等做avi动画的函数的。
# C/ {9 a5 n( i- v& N) D$ {: p. M做好的avi放在ppt,如果要暂停之类的功能,是ppt或者播放器的事情了。
6 S% }1 c5 G2 K5 L( l# rmatlab提供了com组件来和其它应用程序进行通信在ppt里写个vba调用matlab。/ T" i" f, B. J9 _$ e2 Z
细节可以在help文档里查找vba和com关键字
Q3:我们可以用subplot画出两个不同的曲面图,那怎么样才能使得这两个曲面图/ c4 ~1 d% o* k' \* r" W
各自用到不同的颜色对照表呢?如果画完一个然后用不同的colormap,7 Y, D, l+ u" Y0 J3 @7 z* g, l
两张图会变成一样的。
; U9 h1 r/ r" X, |$ SA: 如果是曲面图的话?atch对象或者surface对象自己有颜色映射表的。
. S/ q+ @5 H e! [" {9 o其实说白了,colormap也是对颜色的索引罢了,例如surface对象而言,也就是第
; S% _( N; ], Y. Q) e6 r三位的颜色表。支持的形式有两种:索引以及RGB直接表示.采用第二种就可以解决
1 D( m# t1 s) p+ m& `这个问题.毕竟对于figure对象而言,colormap没有太大的意义.
( u) g/ g8 j, B4 m* y以下附实现的方法,以供讨论: (见合集2005年之38)
3 Q% Y9 `$ @ w7 a: q7 V# l原理是通过改变caxis的值。
Q4:虽然用subplot可以在一个窗口中显示多幅图像,但是每幅图像之间有较大间距。2 A6 N" [/ G# H8 c* H5 T# y4 n
现在想让多幅图像紧挨着显示(比如说2行两列共4个图像),该如何实现?( ? b9 o- h1 `" C& T
A: subplot('Position',[left bottom width height])( }1 K7 t2 K+ [; r5 Z5 m
或者axes('PropertyName',PropertyValue,...)
Q5:matlab 怎么画球?
* e+ s( O' a, y8 bA: sphere函数。
Q6:matlab由图上直接取某个值命令?
. J! q# f' C* s& v% u3 c+ _A:ginput。
Q7:请问用什么命令可以让figure窗口中的图形输出到指定的文件中?
* c' d9 @2 b: K1 T0 y图片数量很大。
, H2 X% I9 w5 k0 b; C$ q) @A: print和matlab 的 notebook 功能
Q8:怎么能让一个plot命令执行完了以后重新开一个chart window画下一个图?
1 Y- q- j$ c. l' bA: figure。
Q9:请教matlab坐标不等距画图。如果坐标轴上标的量希望不要均匀应该怎么操作?
( X2 D* c2 u% t: r, N# IA: semilogy/xtick,ytick。
Q10:如何在matlab中接摄像头自动获取图像?# H7 s, @ B9 |) ~+ r) w. D2 L( [+ u
A: 比较简单的是调用现成的Activex、Com控件来完成,缺点是至今无法编译。& B4 |! Z4 }9 G. N
第二种是自己写硬件接口,优点是可以编译,并且自定功能,缺点是耗时。
Q11:请问matlab绘图能有动态效果吗?
& C% {% g$ p) ]( M# n. B* b7 _A: 延时、清屏、重画。ing like that2 m$ m: W2 c1 H, c
如果闪烁的话打开double buffer
! ^# Z, _# `9 S' Y p6 D5 V高兴的话还可以做成avi movie(frame2avi or so)
3 |4 A4 J% f; _- l" _, {; @( K; C还有慧星图 comet
Q12:怎么样更改colorbar中的字体?, ]8 k! H! R" F/ `
A: colorbar说白了就是一个axes对象.
! V+ u! S% @8 Q5 T% p! q+ x% A这样:了傅幕按蚩猟ouble buffer1 C* u( }" m& b, Y( H
ColorbarHandle = colorbar ;(frame2avi or so)- k# o0 Y' v# L; o4 T2 H |
set(ColorbarHandle, 'FontSize', 20);
Q13:请问matlab中画多张图如何使用同一的colorbar?# x- t5 f0 U% |$ n2 g P' s
A: z值映射到colormap,colorbar通过z值和colormap的映射关系生成的,所以需要+ r* S& I* Q# [4 W: L' a6 [) U" O
将不同的figure,z值映射相同的colormap索引。
Q14:在MATLAB里如何显示一副图像,但使其背景为透明的?1 a, t% y4 |" e. ^ A6 x* }* x% K0 n
A: 用 image 画了之后再把 axis 关掉(axis off)
matlab运筹与统计问题集锦
Q1:在matlab7.0中求解线形规划的函数?- h+ A( k- ]3 j: S
A: linprog一般能直接给出结果,参数设定可参阅help。
Q2:matlab中如何做回归分析?
- L2 I& Q3 r; M; ?8 dA: Statistics Toolbox。
Q3:已知两个正态分布的均值和方差,matlab里有什么函数可以直接求出来?, Q7 R9 F. s+ x, x1 f
A: 用fminsearch函数。
Q4:已知两个变量符合一个联合正态分布参数,能否用matlab生成这两个随机数?1 A' h+ N2 [: O$ ], w7 N$ ~
A: 先生成两个独立正态随机数,然后利用正态分布的性质,用线性变换过去。3 G1 ~, D" Q, ?
也可参阅statistics toolbox中类似于 multirnd 还是什么
Q5:求解一个不等式外加两个约束条件用什么函数好呢?
8 B* |* ^7 g, P, C% O9 h* O5 C; K& ?A: 试试用规划中的fmincon函数。
$ d( V& \$ K/ o6 |% {( P
作者: shapeofyou888 时间: 2021-6-3 13:10
好东西
作者: modengxian111 时间: 2021-6-3 14:57
刚好需要
作者: tryeverythingop 时间: 2021-6-3 15:05
不错不错
作者: lahhse 时间: 2021-6-8 18:22
这个常见问题很详细,先收藏一下
) a6 Y8 S; ~# Q3 `2 A% }* X9 ]; y
作者: ouzihai 时间: 2021-6-9 00:00
学习了
| 欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) |
Powered by Discuz! X3.2 |