EDA365电子论坛网
标题:
如果想用plot的话应该如何修改?
[打印本页]
作者:
canpcbpp
时间:
2020-6-24 13:28
标题:
如果想用plot的话应该如何修改?
本帖最后由 canpcbpp 于 2020-6-24 14:06 编辑
: v& d9 q- o- {& u$ H3 ?
7 s8 q! G! k8 Y4 Q" q* k" C2 C/ B
% j v' H' u+ O) l7 B8 {! Q; h, u
本人MATLAB新手,今天写了一段代码想生成payoff曲线,可是只有figure,曲线显示不出来,然而换成scatter就可以,想问问大神原因是什么,如果想用plot的话应该如何修改?
# D/ r# Q* a8 \; V5 I
代码见附件,感谢!
" u# ~2 l" E8 @0 C0 {7 L7 o: }
$ n- g3 O1 H' l8 Q9 \* {0 r a+ A
GibbsEnergy.rar
(1.77 KB, 下载次数: 0)
2020-6-24 13:27 上传
点击文件名下载附件
下载积分: 威望 -5
. u4 ?- F0 T n7 v% A
test.rar
(321 Bytes, 下载次数: 0)
2020-6-24 13:27 上传
点击文件名下载附件
下载积分: 威望 -5
作者:
fanichicl
时间:
2020-6-24 14:09
, u2 Z5 i% S: ~
在test.m中的循环里面把绘图语句改成
4 P1 m( Y" ~7 Y' P9 L
plot(T,x(7)-(T/2000)^2,'o');
; k/ V* h. A" K2 e: i6 l
, w& k7 r! W! ~# u# p
- I: x& Y; |2 T8 v
就是了
( T0 h6 D. r2 J. v, ^. e
因为plot默认是画相邻点之间的直线,但循环每一步只计算出了一个点,不能与相邻的点连接起来,数据点本身没有图示进行绘制,导致看不到整体曲线,使用'o'等命令令其将每一个数据点的图示都绘制出来,就能看见了
+ c& C4 _) L" M: O7 g/ R
! {, w/ G* q$ \
更一般的做法是将循环计算的数值存入向量,最后对向量进行绘图
" u7 Q3 v- [3 g3 ?0 v4 R$ W
Draw_X = []; Draw_Y = [];
8 F+ l7 E6 G- e; d" R9 A* p, y
for T=600:5:1600
1 Z3 @' p4 [: F8 O' b/ ?# q7 m u
fun = @(n)GibbsEnergy(T,n);
$ P- @) _! E$ G7 X( v# G
x=fmincon(fun,n0,A,B,C,C_i);
1 A/ x" {! n: t I
Draw_X = [Draw_X;T];
2 {0 g6 i5 l" ?3 r2 P6 i$ |0 N' { ?
Draw_Y = [Draw_Y;x(7)-(T/2000)^2];
$ ~+ D9 y5 t" k2 Z
end
6 W/ J3 g0 Y. `" o% }4 O/ L
figure
" m- D v c1 j1 i0 I/ n+ o
plot(Draw_X,Draw_Y);
; N, F- {- c; A) m6 u
hold on;
. U% U! n0 z* z* C: m9 Q" G* Z
xlabel('T');
% h+ Y: E r. {$ H. Z& ?8 O9 }. u
ylabel('payoff');
作者:
Ferrya
时间:
2020-6-24 18:38
要存入向量。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2