数学建模社区-数学中国
标题:
那位大神能帮我看看这段代码?用matlab画图的
[打印本页]
作者:
麦子104
时间:
2012-7-31 18:47
标题:
那位大神能帮我看看这段代码?用matlab画图的
%画图
% Q/ B/ ~6 R8 u) Z6 b/ s1 n
' {+ i; @, O! T8 ?& ]1 x' i
close; ??????
) C0 T# u5 q* h1 v
set(gcf,'numbertitle','off'); ??????
6 R+ }0 r" a9 m: e) M6 W6 U
set(gcf,'name','Dijkstra');
6 C2 [+ m' J. _/ W% ~0 S _
set(gca,'visible','off');
$ I" g5 a4 ?6 H, G
axis square;
! X0 u* }1 C3 `7 F
hold on;
" B: v8 S% Z9 n/ b7 X
! Q4 j0 D4 [$ j3 w5 F; Z
b=linspace(0,2*pi,mx+1);
! k4 c# t( F) k% O: i+ Z( i
b1=10*sin(b);
, C% _. r) @1 b) p
b2=10*cos(b);
) w6 ?) {; Y0 _- J) |, e
plot(b1,b2,'ko');
) O' K3 W# F9 l$ w
hh=char(49:48+mx);
1 j' `; ]; m2 Z6 O/ N
for i=1:mx
/ V+ ] z* t8 h A; W9 L: n9 v
text(b1(i)+0.5,b2(i),hh(i));
3 q/ B6 z+ q) z
end;
! o0 k& q6 V' i! D* K$ }* z
for j=1:m
7 p A" t7 t# ?) Q/ v) a
for i=1:2
+ ?/ D7 j' |& F6 L8 l
c1(i)=b1(map(j,i));
8 v# e8 v% C! y. `* I7 D
c2(i)=b2(map(j,i));
4 {2 ~8 d" s* a2 ^4 ?# T. g' n% X
end;
4 E7 h% S* x" W7 ?. A
plot(c1,c2,':');
y6 O' }; i! O' K3 L
end;
b$ k; F' F+ K" P8 d
6 C! N/ C( d* A: }+ b+ f
kk=length(p);
" |$ l1 Q0 r) b4 ?# }
k=0;
Y! _7 {* H0 c0 }
for i=1:kk
o j" c Z# T& Q
if(p(1,i)~=0)
, W% Q2 Y6 w# t8 A: Q$ @& e
k=k+1;
+ V# K9 A O8 e0 Y1 o
end;
, D4 b. O6 E/ ~9 Y, }" l
end;
0 g6 W" W, S' G
for i=1:k
, e" B9 d" R8 `& t
d1(i)=b1(p(1,i));
E! \; G- F( n7 k# \$ U
d2(i)=b2(p(1,i));
1 n' y5 x% j* u+ V7 f" n8 g
h=plot(d1,d2,'r');
* H; R8 ?, D9 b- d2 {$ J- Q
end;
8 U0 N2 y$ m" O2 E5 L% J5 E
set(h,'linewidth',2);
. }: A( T& p4 B2 i! `/ t! ~6 ?
legend(h,'粗线表示最短路');
) y4 I5 y. G8 j8 H8 c9 P3 j
hold off
6 ` r5 T% Q) ~4 k* j
这是程序的画图部分,里面的p,v,map,f分别是经过狄杰斯卡尔算法算出的最短路径,最短路径所经过的点集,输入的矩阵
- n7 P9 P6 _" E% u: H
map形如[1,2,30;2,3,34;3,4,12]
作者:
厚积薄发
时间:
2012-7-31 20:14
代码怎么了?
作者:
麦子104
时间:
2012-7-31 20:51
厚积薄发 发表于 2012-7-31 20:14
1 l8 ]: `3 N& e/ n8 v
代码怎么了?
% b7 Q" Y2 m. I" m0 J' i/ T
画出来的图不对
4 v n R8 U5 g
我是想画最短路径图 结果出来的图有的标号和边显示不了
作者:
麦子104
时间:
2012-7-31 20:53
好像说错了 是迪杰斯特拉算法
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5