當前位置:成語大全網 - 新華字典 - matlab中的問題

matlab中的問題

clf

hold on

A=[1 2 3;3 4 5;4 5 6] ;

[I3,J3] = find(A==3);

[I4,J4] = find(A==4);

plot(I4,J4,'b.-','MarkerSize',30) %4就用藍色吧

plot(I3,J3,'r.-','MarkerSize',30)

把3和3連起來,4和4連起來

如果要把3和4都連起來,用下面這段代替最後兩句

plot(I4,J4,'b.','MarkerSize',30)

plot(I3,J3,'r.','MarkerSize',30)

plot(plot([I3;I4],[J3;J4]),'k-')

===================

要把數字標到圖上?

clf

hold on

A=[1 2 3;3 4 5;4 5 6] ;

[I3,J3] = find(A==3);

[I4,J4] = find(A==4);

plot(I4,J4,'b.','MarkerSize',30)

plot(I3,J3,'r.','MarkerSize',30)

plot([I3;I4],[J3;J4],'k-')

for ii =1:size(A,1)

for jj = 1:size(A,2)

text(ii,jj,num2str(A(ii,jj)),'FontSize',15)

end

end

axis off

===================

妳這段程序有兩個問題,壹個是開頭漏了hold on,這個命令用來保證後面的圖不會沖掉前面的。另外壹個出在這壹段:

for ii =1:size(A,1)

for jj = 1:size(A,2)

for kk = 1:size(A,3) %size(A)知道,size(A,1)是不是行數,size(A,2)是不是列數,那我這裏不

%知道size(A,3)是什麽了

text(ii,jj,kk,num2str(A(ii,jj,kk)),'FontSize',15) %kk也是我自己加的

end

end

size(A,n)指的是第n維的長度,所以1是行數,2是列數,3是三維數組的層數,對壹個二維數組A,引用三個下標的A(ii,jj,kk)就會出錯,而且這壹段妳少打了壹個end

clf

hold on

x=1;

y=2;

z=3;

A=[1 2 3 4 5 6 7 8 9

5 6 9 8 7 4 1 2 3

5 6 1 2 3 4 6 2 1

1 0 3 2 6 6 6 9 5];

[Ix,Jx] = find(A==x);

[Iy,Jy] = find(A==y);

[Iz,Jz] = find(A==z);

plot(Iy,Jy,'b.','MarkerSize',30)

plot(Ix,Jx,'r.','MarkerSize',30)

plot(Iz,Jz,'g.','MarkerSize',30)

for ii =1:size(A,1)

for jj = 1:size(A,2)

text(ii,jj,num2str(A(ii,jj)),'FontSize',15)

end

end

axis off

for ii = 1:length(Ix)

for jj = 1:length(Iy) %連接x,y

plot([Ix(ii),Iy(jj)],[Jx(ii),Jy(jj)])

end

for jj = 1:length(Iz) %連接x,z

plot([Ix(ii),Iz(jj)],[Jx(ii),Jz(jj)])

end

end

for ii = 1:length(Iy) %連接y,z

for jj = 1:length(Iz)

plot([Iy(ii),Iz(jj)],[Jy(ii),Jz(jj)])

end

end

學matlab的話,我個人的經驗是先找壹本比較簡單的書,把矩陣的基本操作,流程控制和常用的繪圖命令看個差不多。然後就是多用,用的過程中不會的地方就看help。那些四五百頁的大部頭書很多就是翻譯的help,當字典用還行,壹開始就去學的話很難看的進去。