|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8 V; ]) P2 t4 T# q
Q:如何在给定句柄的 axis 里绘图?
% U8 m& q6 d- g6 [4 A4 GA:plot(data,'parent',haxis);9 }2 s; v) _% U
或者2 w$ O; a- G; v* Y5 r
hbar=bar(data);
$ L/ [, i8 R9 r" X0 V+ a* Vset(hbar,'parent',haxis);$ I( o* `: F" r; N9 q8 J: K) `
$ K& j- P3 ] k& E# I/ K+ U/ E6 u+ @( o
Q:Matlab 中如何作线性拟合/线性回归/多元线性回归?
0 y; C: \ N3 N% e( _ E+ G3 d8 UA:何作线性拟合是用 y=a*x+b 来拟合一组数据{{x1,y1},{x2,y2}…{xn,yn}},matlab 中使用) e, ^7 S6 L5 n$ d% Y
polyfit 0 V* I* i) e$ B; i% {' y$ p, Z
x=data(:,1);/ L/ _; j! @" n0 V2 |8 o/ h
y=data(:,2);
& E F) S0 c5 U+ k7 Sp=polyfit(x,y,1);
* ^5 V. \$ X+ {' x/ n- `p(1)为斜率 a,p(2)为截距 b) Q Z, }8 n9 q3 x# Z( c5 \! L
多元线性回归即用 y=a1*x1+a2*x2+..+am*xm来拟合数据点{x1i,x2i,…xmi,yi} (i=1~n)
A" h7 T [* \2 r* k|x11,x21,…xm1| V4 I2 ~: L8 P) E4 L
A=|x12,x22,…xm2|
2 W5 B4 K9 o, h$ E|…………… |% q9 @0 |5 n) ?& V0 j. i
|x1n,x2n,…xmn|
! w" P7 ]7 }3 X9 R8 s- NY={y1,y2,y3,…,yn}'8 t3 F: K0 y5 o* ]0 l% c
则系数{a1,a2,…,am}'=pinv(A)*Y。
5 d8 N* ]( C7 u9 N( S# A1 n在 matlab 中使用 coeff=AY 则可以得到最小二乘意义上的拟合系数
! c+ j( t. L* L+ N: H. {# z ; B# ?- C1 V+ f S0 B4 }$ s$ n0 \
Q:Matlab 中如何作二维数据的插值?/ D6 \! j0 Q2 _: T) ^4 u6 @
A:对于一维、二维、三维规则数据点阵使用 interp1/interp2/interp3, 1 M0 ?# h( n8 p2 Q) w, l9 M1 k
二维、三维非规则数据用 griddata/griddata3* V2 z+ K; m+ y* E( ~6 W- B
9 M) a9 d) ^0 `0 t) V" c9 z
: S/ a- m T9 ?0 L& P. `
Q:Matlab 中如何计算程序运行的时间?# q" m% s& ]* M1 y
A:tic
0 t( c8 A/ } B( jyour_code;: k9 [0 S$ W( H5 D9 b& o
toc
( }7 w; \' |* n3 S或者使用:
' D7 e- b7 f+ z1 Wt=cputime;
1 H' Y ?: ?/ |/ v; R7 Myour_operation; ( d1 b( V2 Y9 E+ r$ B( l
cputime-t
. ~& s1 N- A% t! N
8 D( b# {. Q$ I+ T! \ % F8 f4 w5 F A8 h
6 p+ o1 B: w+ N( @8 o+ y; L
Q:如何在 Matlab 中实现交互操作?
- u8 h2 J2 I' S- V6 FA:如果只在命令窗口进行交互操作,请参见 demo 中的例子,主要是通过 input 命令和
, k& Q1 E2 ?# j; K+ U9 N* U' M8 opause/clear/disp 等实现的,还有一些窗口资源可以使用:
1 m. }* V: P2 q1 Y' ouigetfile, uiputfile, uiwait, uisetcolor, isetfont, uiopen, uisave( N0 O/ b8 N$ h( \8 y
inputdlg, msgbox, helpdlg, questdlg, warndlg, errordlg
" E# W' t) z% _8 a1 Y1 Z- n5 q0 P5 v$ C5 Y0 ]
; Y/ B0 P1 m5 K) ]9 D
' n5 ^; D$ S* R/ p1 X" BQ:Matlab 中为什么只能在小数点后显示四位?$ X- j: ~% B: l1 |4 }; G4 g2 A
A:用 format 命令来改变命令窗口数字的显示格式和精度,但不会影响 matlab 的计算精度,
* K% @9 p7 K' ^( |* hmatlab 的矩阵运算默认都是双精度浮点型运算。6 z6 U' B/ S7 G8 V7 O
5 n M, b3 m- `, K) e' d- t! i
$ m# T+ u, }- g/ P
6 d- T. U: g5 [# `) _# E
Q:Matlab 中什么函数可以删除矩阵的某一行或列?
; i# O4 F% P# I. p, sA:A(j,:)=[]; %删除 A的第 j 行
3 C/ E% a/ w: _; V5 CA(:,i)=[]; %删除 A的第 i 列- d8 g' v5 w" g* F" F' D4 }1 D
+ a) L/ e' ~3 H% `+ D+ j4 R- F
9 k7 Q9 l; S( k
; W9 B! X: J; T/ hQ:如何得到 contour线上的坐标点?; Z6 y7 _2 H: r, j
A:lcount=5;6 y, L% |" o1 ]4 |' i
[c,h]=contour(peaks,lcount);
4 k/ F: ~# q" d6 Sx=get(h,'xdata');
6 ?9 t* d& T" H* }# o1 @. Zy=get(h,'ydata');
% n, F, P# \$ \5 H9 _ o. v这里得到的 x 和 y都是 cell 数组,用 x{1}/y{1}来得到每条线上的坐标对,注意,每条线+ z& Q- X0 f) U3 J
的最后一个数据是 NaN
R& n0 v% f3 R( z4 _$ A
$ g/ @: A: ~5 a# m0 e2 V, b! J+ j% o
x: Y7 {: ]1 TQ:Matlab 有没有求矩阵行数/列数/维数的函数?- M7 _2 m% s2 [# c4 Q& b
A:ndims(A)返回 A的维数- D5 Q; }& i2 X# s% K
size(A)返回 A各个维的最大元素个数
' H: H' z4 i8 X$ B, I3 r6 Mlength(A)返回 max(size(A))
( v. b* Z' X8 y, w; ^& B' X[m,n]=size(A)如果 A是二维数组,返回行数和列数5 R1 A! V0 |" ~& [
nnz(A)返回 A中非 0元素的个数
) m. m% P9 n6 }" F$ `0 `: Q
6 a& a; e! z y! o8 J# a% v5 c $ `% O/ ]9 B9 T& u/ ]
3 r" _+ D. V" M5 i, O9 a7 Z
7 _7 R3 o9 K2 U7 M1 E5 [( nQ:Matlab 如何产生均匀分布的白噪声? 6 d t; H+ n6 J9 x# d
A:help rand 均匀分布百噪声4 T! l! ~: ~- h5 t9 U% d6 S
help randn 高斯分布百噪声
0 E0 {/ z) @$ Z+ a2 d
5 ?, w, |) L# M% { @ 3 Z; `) v! ~& T/ d
% Z5 [' e! ~9 W: I3 [% _
9 U9 O4 u2 i* Q' N- H6 o. I t) e2 \3 C6 b$ D! }- x) l
Q:请问在 Matlab 中怎样输入特殊符号啊或者上标、下标?
4 [# c8 Q- j; O# I1 t/ iA:matlab 的 text/title/xlabel/ylabel对象支持简单的 TeX排版语法,如希腊字母,上下标等。" k. A ]0 b9 u. o& ~/ ^! R
例如:text(0.5,0.5,'alpha^beta_2');
9 z" K# J" C4 W8 {+ f
) E) t) g7 J# @) e. ?
% z! H0 T+ X; t5 L3 W D- Z7 m/ n
6 M& G Y5 j( X( u' ^! DQ:Matlab 中如何把向量拓展成矩阵?# G- o' i, Z% Q
A:可以使用 repmat(),例如: repmat([1,2,3]',1,5)/ H$ r/ A8 C$ f; S
或者使用 kron(),例如: kron([1 2 3]',ones(1,5))
+ _+ P: Y) V% p1 x/ V% P" u5 n
! h; r; p! d; h) k8 ^
4 \1 }( o4 Z1 m3 s. Y- C' I; u
2 }* A: U& l0 C" B) ?# i
8 S; A- E# |# s, [) UQ:matlab 程序运行时如何中止& R% ^, X* ?9 \* @4 N
A:快捷键 ctrl+C 强行中止,程序不能继续运行
. P+ }8 c6 x1 T" a# J5 c程序中用 pause 命令 自己选择中止断点,可以回车继续运行( Y r, J+ p' w4 p2 X
( s5 V8 `8 q7 N! y- S
; R, R" z: Y2 W/ a
Q:matlab 计算结果为矩阵如何保存和取出
T* v# t; R+ @. @ W! vA:save 将当前工作区的变量储存在一个 MAT-文件中
* E1 k2 T9 A4 | ]load 调出一个 MAT-文件
3 B# k0 A! c2 p1 }: H2 K4 @0 W T; w0 y: y% p
1 ]! o( Y' M/ w3 D
Q:那位高手能否讲一下 varargin 的具体用法。* |4 o( ~6 P" M- Q
A:varargin是代表输入的参量,必须作为最后一个参数出现。: C# h# F- e9 ]% x" I* {
比如:定义函数 varargout=fun(x,varargin);9 _9 V3 m+ u( V1 m! v3 M
那么调用时:[A,B,C]=fun(x,m,n,l);
3 D3 y: w" }* ^" t4 Ovarargin 就代表 m,n,l
7 y* z+ X3 A8 V8 ?- A6 p* Z: L! i2 T+ i% D% b
: D6 l! B/ G& l
$ h- ]) U: T% M! s1 I) J! V8 P' h" q- [
Q:mean(A,dim)用法?
- L% u) Y0 J& O' m1 s3 jA:mean(X):返回向量 X的算术平均值。1 o8 G) d, C3 I- `1 O
A为矩阵时候,mean(A):返回一个行向量,其第 i 个元素是 A的第 i列的算术平均值。 ]5 A9 Q6 ^& W9 k8 b
(比如[a1,a2...an])
, S5 Q. \: r9 Umean(A,dim):当 dim为 1 时,该函数等同于 mean(A);当 dim为 2 时,返回一个列向量,5 ], w! F$ {! y/ M* l/ E$ F& f3 g
其第 i 个元素是 A的第 i行的算术平均值。 (比如[a1,a2...an]') w- V* f9 \' ~- F r
此类问题可以直接 doc mean 来查看4 I$ [" e0 y$ i
: r3 j. r5 j/ w/ u0 a5 f % _; C* S+ l! E2 O. B: F
2 u$ J% c; }/ c
119.使用''和 sym 生成字符表达式的区别
+ j+ o! I$ q# iQ:例如:
# ?6 P _2 {& _: Z f1='a*^2/(b-x)';8 C& j% U* p; ?* o% q* f
f2=sym('a*^2/(b-x)');2 \8 j- p5 t/ Z+ P8 A! f
f1==f2;
& f6 O3 _. b+ W. W ans=1;* V. p# m% ]5 {3 M! G
那是不是 f1和 f2 完全相同呢?8 V0 y& M. W! Z4 ~ ]4 G( [& @
A:当然,一个是字符型的一个是符号型的) R" `3 P! j2 w+ p- W3 u% `
, U/ \, s) `+ e: W9 q8 ^" C
& v/ j8 l3 O, w1 u
7 _: |( o( L( b+ k$ S6 [% |5 k3 n. ^
2.matlab如何自动读入一组数据文件?
0 q( r' v! Z/ D: V1 x/ c vQ:一目录下有一组数据文件,文件名为 data1.dat,data2.dat,data3.dat,......,dataN.dat, i1 q0 y. q* ~
由于文件数量非常大,如何让 matlab 自动的按次序读入? F- ?0 q( o9 x
A:filepath='d:/';: Q2 ~# X0 w7 I; c6 d ]( R$ l
for ii=1:N
2 ]9 Q- j( f* q% a* A filename=[filepath 'data' num2str(ii) '.dat'];1 U$ e& ~5 U$ `6 v/ i7 n! ^7 P
load(filename)! A0 J% L# ]6 C _" T
end& D& i& @8 r: v2 T
Q:好在文件名是 data1.dat,data2.dat,data3.dat,......,dataN.dat,不然难弄,^_^
/ L. x7 f- ~1 l! I# cA:原则上,该是可以将所需量尽量作到一个文件中,逐步读取(fortran 里面系这样的) 。" Z8 Z" s$ u1 W [: t
文件名不一样也好弄,可以用 totalcommander 等软件批量改名。也可以用 matlab 自带的函! k0 @+ r9 d! P$ i, Z8 y+ A$ F
数把当前文件夹下的所有数据文件的名字都读到一个变量里面,然后 load 这个变量里面的( U: x) O* b7 Q: r
元素。4 M$ \: R0 ~8 R" `, }# T. E9 q
+ j4 K' Y8 `1 q3 i2 r! ^' { 5 d# j! I* O8 h7 C, g: R
+ }: f0 k$ ^" r! }) }
- L: {' D4 D# \+ `4 Y
2 u$ W- n O, `0 y7 x m1 }2 T4 Y& d# I5 [
Q:在 MATLAB 中如何实现两个字符串的相加,例如:'aa'与'bb'的加和为'aabb'?
& M2 u, s5 l+ P3 b2 }A:x1='aa'8 r' t; [. h5 }5 t% i1 C# T* e$ X1 y" X
x2='bb'
5 R" A/ X! c) X. c, Vx=[x1 x2]
; n, r$ ^% @9 y, {+ J4 T; p1 r/ {8 Bdoc strcat
6 Y& F5 j# k# ~6 F# X# e
: `: F* Z; T# e# n: L6 |2 |8 e" [( d. ` |
如果求点积:dot(a(1,:),a(2,:))1 S: p: z; g* m0 \! k
如果求向量积:cross(a(1,:),a(2,:))1 O3 H4 F+ `" Z; P
! C# }6 |4 i. ~( q% j: d4 c7 t
, P& v- S! G d/ Q
# ?: F. E! z7 L, L
Q:如何用 set 改变 gca 变量中 xtick 和ytick 的属性值- x) v. U5 i) Y0 \% e7 Z6 k
A:x=[1 1.53 4];
$ x# S' T& a" D1 g% vy=[1 2 3];
- S# h# ]( M. kplot(x,y) ; A6 J% u. A- |9 v. ]
set(gca,'XTick',x) 6 B4 s/ ^! v7 g. w3 O& V" L1 t5 {* o
set(gca,'XTickLabel',sprintf('%3.4f|',x)) / d) p3 ~8 v2 X6 L' ~* b
set(gca,'YTick',y) 6 w6 k0 y( p" B9 f- Y9 f
set(gca,'YTickLabel',sprintf('%+1.2f|',y)) 4 F: x) m/ `& e6 W
8 E' g3 k% o8 m+ ]" C
8 h% s$ H- Z8 l5 M! G6 L7 z3 k# T* s6 D* H
, Z6 j1 J- Q \$ Z9 g
: a6 \% _- u) y6 W( h6 B9 F3 GQ:有关进度条和画图的问题4 o7 Q- J* R. v+ A! A8 p
A:h = waitbar(0,'Please wait...');
" p2 N* S0 ~2 b9 cset(findobj(h,'Type','patch'),'facecolor','b','edgecolor','b');5 L) D1 S. d' ~6 U2 U
for i=1:100, % computation here %
( L) |! u: r' T& I& n9 f# ?9 @' Jx=1:100;
7 L% \5 w7 c; k4 Q) Z" Gy=i+1:i+100;
^ ^6 {3 h4 q- t& s1 y2 r! Z7 `plot(x,y)
9 q+ I( R4 p! ]1 m* f3 G2 V4 Qclose all ^3 t. H: k, V- C/ ~& z
waitbar(i/100)0 s0 |9 _) T' L, X& Q/ }( j7 w7 v
end& p" G7 r$ r6 e9 h
close(h)
8 E$ E. f( P1 u. p& D/ Q# I8 d# c( p
# l: B, _& b# a+ Z. q& o
( |! O M, v5 `' _. U5 _8 @% u+ @/ N, r, K) B- c
Q:在 MATLAB 中如何画灰度图?
2 m) ] Q9 {$ ?. \) N0 OA:如 A为 2 维矩阵+ A5 A& E+ K, }8 S; y
figure; imshow(mat2gray(A));0 \9 g& v- ~" A9 o2 \7 J
; n& k6 n2 x: Y# }
8 d& [0 v4 p& l# g
5 s! L0 A t: r) w% B3 LQ:matlab 里的图形怎样去掉坐标轴留下坐标单位呢?
. h ]2 V- ^! b' Q( V, FA:一个小例子
# u( k+ C6 e7 K. l$ }0 U# G$ Whold on;: D) a7 J: o' r$ }- o. T
plot([0,0],[0,1],'w','linewidth',8);# g" j; H) P4 V a
plot([0,1],[0,0],'w','linewidth',8);/ H3 y3 i3 ]& N' s( Q7 |) g2 L
plot([0,1],[0,1]);
- _7 n1 j7 M- o, O4 Z" |2 B+ Xbox off- b5 V) f. I/ h& ^& {* k
xlabel('zjliu');ylabel('zjliu')
8 V: A/ z+ e7 ^' A$ m
1 ? h6 i8 w* T( X+ q @6 l* `; M r5 ~$ q
& D/ ^+ I" e$ _; `4 j" d
Q:Matlab 怎么画三维数据的灰度图?' g2 e4 l) O: u
A:[xi,yi]=meshgrid(x,y);
% e9 o' q7 e9 L4 A2 L+ N6 f8 lpcolor(xi,yi,zi);colormap('gray');
5 L% I4 C! d8 R, Ccolormap(flipud(get(gcf,'colormap')));' E% c2 ^2 j6 B V5 Y
meshgrid 的时候分的细一些让他变得精细一些
! A% l1 x0 W) A1 Y) C
3 z- P V! ?# W! g# A a, m # ^- D* D1 W, Q
: q' U, z3 p' s7 a! y; N ' U# H; F5 _' V- q
' m/ `: e" T" {3 H3 f# o) A, A5 d. _( D( i5 T* M
坐标轴问题
9 S+ B! T; g+ [! G" ?8 sQ:我想让 x 轴的值从左到右是递减的该怎样实现?还有 y轴是 10 的幂次方递增? E4 V1 D: \! o+ j
A:plot(1:10)
0 \. \( Q3 ?1 z" y" hset(gca,'xdir','reverse'). Z' i5 D( X9 |. z* w. j
set(gca,'yscale','log')* V% z. b6 L3 h$ Y8 I+ N
此外,可以: ^9 d+ P2 w ^5 H4 \: z0 W
双对数用:loglog()
2 l; X. \; z& @6 Q对 x 轴用:semilogx()
6 g. `, H) [$ q& O* a对 y轴用:semilogy()
. ^! r. N8 h* T' ]9 T' r1 Y1 B% c
" d4 `. t: l) ` & x) ^+ o& K' M/ S y
* Q9 ^, F. h4 l; A/ \0 D
Q:请问 matlab 图形中用来划分多少份的那些线能去掉吗
3 K( T" K3 e* cA:shading flat
) a- E2 P) p) ?8 @! B) x
' b {3 Y; }. v$ ?
) C9 o. q% @5 W1 `/ a, W( y
! W7 c3 A8 F; H/ m/ W1 d4 TQ:如何用函数形式设定坐标轴的数据字体与字号
$ {/ l P$ v* r0 \4 g7 k5 k4 b* y6 F* `& `A:举个例子6 E. z/ t% o5 |1 f2 c
set(gca,'FontSize',12, 'FontName','标楷体')' x5 r6 N7 b6 w2 g' ]
字体设置属性:
* v, b4 W* W7 i( z) s, @'FontAngle'------ 设置字体角度
0 ]( U3 M3 [2 z/ I* [3 ^0 q'normal'------ 正常; ! r2 h+ L: E* s& t; @+ W, {6 t
'italic'------ 斜体; - N' d+ S3 Q% q9 D4 o3 j
'oblique'------ 倾斜;
; k8 }- Y6 J3 H" X'FontName'------ 字体名称;
& x* ?2 [0 i3 e/ P6 W'FontSize'------ 字号大小
8 \' [5 U r4 R4 s+ y'FontWeight'------ 字体的轻重,选项为:'light','normal','bold' 8 R+ M' ]" r9 D9 y, R( P
如何修改图形分格线?
2 p7 V! }* J- |1 }4 [. }4 e用 set 改变gca 变量中 xtick 和 ytick 的属性值. a* J, M/ O- i. }- C
/ A8 w1 l/ U7 k- d( n
4 V3 @) k5 `# V4 z
: g) H0 C4 S: I+ Z3 C& g, B
5 c" o0 P5 P" t# E) d, G ]
) }& F0 p# j) k3 M" s; n5 S
/ A5 w# f) |3 w7 v; c5 g从一个已经得到的图像中得到其中某个点的坐标
: w! x7 v ^4 L- _1 \' pQ:点是鼠标选取的,如何得到其中某个点的坐标/ b6 {# ?! ? T; ~' ]
A:[x,y]=ginput(n)
7 c3 {# Z" S; hn:要点击的次数
Q1 k$ S3 }, y* S( ~x,y分别为点击点的 x,y坐标,当 n>1时,x,y为向量/ M, G5 E6 p2 Y# j
6 G* H$ @! B3 ]4 h* M& r# v- n1 J
( N0 q0 c w; T用 matlab 画圆,且标记刻度" U9 Z. m( s( ]: K+ E
Q:其中圆自最顶部以 0°、15°、30°、……330°划分,并以数字标明其中得 30°、60°、/ M7 ?9 Z8 D: I' s" D) V8 f7 h
90°、……330°。 或者怎样用 rose 命令或 compass 命令实现。
" l3 J) I' Q7 r3 R. K) N7 r% L5 Q! H" [A:用 polar画吧,rose和 compass 画的不是你要的图; Q5 c! L [6 M: c
theta=linspace(0, 2*pi);
! R8 h9 G5 [7 D, Ir=ones(1,100);
9 d7 @6 D/ y6 O& y& K6 T" f3 P8 }polar(theta, r);
; n9 w `/ _, A$ }0 p( F/ b8 B# Y5 o8 e6 V6 A' a5 Q4 D1 o- v
" O* Y/ G. z" _) a, q
0 B) k1 G" f9 C! P- l
% `% @$ g7 p3 I8 X8 D' A# C+ r+ _$ n0 H. T$ }+ t& K( S9 ]
如何控制二维图的坐标刻度不是等刻度
$ x$ x/ \2 G& m+ F8 OQ:我画了一个二维图,可是 x 轴总是等刻度比如 1,2,3,4,5,我想把它变成等比刻度,) u+ x7 g' V1 Z' Y- M% G
比如 1,2,4,8,16。matlab 可以做到吗?如何做?: |4 u4 J( V+ F# S6 i
A:用 axis 命令可以改变坐标轴的刻度,如果想改成等比刻度,可以对原数据取 2为底的对) N! n' X; C* t: g/ _6 Y- r
数。
! U+ t8 H$ z, L8 ?* [$ p& qQ:能不能给个例子?我想把 x 坐标的刻度变成平方形式,1,4,9,16,25,36,49,……,
6 f5 F% J/ y2 @/ Z J$ u我看了帮助还是不会用
! n- [# W& k) oA:两种不能同时实现0 S1 s( Z0 y( S1 O- ^9 ^, u
第一种,变刻度
, b6 t' I; `8 v+ K2 a6 bt=0.1:.1:20*pi;* }1 C1 p8 n6 U) F3 U
y=sin(t);) Q. q( l! W( ~0 g8 K5 c% y8 e! ~1 j; _
subplot(2,1,1) a" s [3 g0 w i/ p% O7 b
plot(t,y)
1 r4 v6 T- v' j! Vsubplot(2,1,2)
4 [; P) P5 p7 ]8 s) L" @plot(log2(t),y)
' v4 p6 \/ r9 x& Z" P) s3 R# ~第二种,坐标显示
8 A- F% l/ _" |! l" It=0.1:.1:20*pi;7 {2 @3 y+ j$ I# T
y=sin(t);
5 K: X, g' v+ A1 t' f% \) _& ~subplot(2,1,1)8 I; R1 \5 M1 q- O. F
plot(t,y)
* D0 e6 u$ n9 R3 x" i. C9 Esubplot(2,1,2)" b! ]$ f& N- @6 e! G
plot(t,y)
$ Q! |" s: v8 Z5 ut1=(1:7).^2;8 F: W1 z5 F. a1 I/ o! t2 T
set(gca,'Xtick',t1)) c4 J" F4 q1 z/ m. m- c+ S
0 l0 {- N5 r) Z
$ @; N8 a# h+ x# z
8 _6 G3 ^5 W V' E4 L: U
52.如何将两个图片同时导入一个界面
8 C6 ?8 E$ c7 y3 MQ: 我现在需要在同一个界面中导入两个图片, 如果设置图片文件分别为 a.bmp 和 b.bmp, 界5 ]. |3 ~# x* ?: ]1 a+ Z1 D
面上是 axes1和 axes2,开始函数中有以下语句:
! ^* _' X. e" K' j& Gimshow(imread('a.bmp'));7 x+ C5 A8 N" T3 N* X. r6 Y
imshow(imread('b.bmp'));
" }# ]6 L+ j5 ~$ ^( Y7 {. L这样只会在 axes2 中显示 。请问如何加上修改句柄的语句,使 axes1 axes2 都显示图片) ^8 \' R6 t- G) K7 C1 R! f: a1 i+ @8 ^9 g
A:subpolt(1,2,1);
+ `- _+ y7 M# n' {2 @1 x" `imshow(imread('a.bmp'));%image也行. R7 t$ e0 n" Q* a& k; S% C
subplot(1,2,2);2 W9 g; C$ S0 y# j- G/ y' o
imshow(imread('b.bmp'));+ L# q9 D0 {0 J) E
& k- X( C! a7 v( ]
/ `* N Y) q3 m4 J7 A5 I; H! o) V
* L9 R7 I4 D( p
; @2 _ \/ `# o
53.如何使 matlab画出来的图和坐标图一样?6 O1 ^3 }9 f' J$ u
Q:使用 plot函数画出来的图,总是在一个方框里面,四边都有刻度,可是我只想要 x 轴和
/ S( G' P y1 t9 ?7 C" Uy轴两个有箭头和刻度的坐标轴,并不需要另外两边,我应该怎么做?; U# U8 e+ n1 V z1 L: `7 C( |9 r
A:set(gca,'box','off')
H ?4 X8 D4 i# @; x5 q
! O% U; }% L* ?. S " Q% u# z7 `2 v$ n4 s! T# c* a7 m
B2 y, g/ A; e& c( ^7 ?
+ W( O- g6 G7 c6 _! K J' [0 ] V% A+ u1 G0 o
关于 LISTBOX 与 PUSH BUTTON的问题
9 y- m1 L9 E2 KQ:要实现:选择 LISTBOX 中任意一项,然后点 PUSH BUTTON后,相对应的执行一个文& K7 G2 s! O. _/ h$ T! |
件。那么 PUSH BUTTON 的 call back该如何编写呢?" @0 C1 A0 |, K |' r7 [ w& U
A:callback中你要实现什么就写在一个 m文件中,然后回调这个 m文件就行了。listbox 中
, i$ y, \4 n, Q" d# V的选择可以根据 value 的返回值来判断。# z; ]; R, B. T7 ^5 F# D; O3 @
( i/ {3 _( H5 H7 R
$ \7 C$ Z7 j( `/ Y# Q/ L |
|