作者liu02112 (好想吃惭愧棒棒糖.......)
看板MATLAB
标题[请益] 请问我的回圈指令是不是用错了?
时间Fri Dec 9 14:51:38 2011
事情是这样的 我有一些参数
gamma_1=0.5 gamma_2=0.6 gamma_3=0.4.........
我今天想绘制function的图
w=exp((-1)*(log(1/p))^(gamma_i))) i=1,2,3,.......
然後把所有参数的线放在同一张图上
所以我就写了以下程式
for i=1:1:n
p=0:0.01:1;
eval(['w_',num2str(i),'=',exp((-1)*(log(1./p)).^(num2str(gamma_i))),';'])
eval(['fig',num2str(i),'=',num2str(plot(p,w_i,'b'))])
hold on
end
可是画面一直跟我说不认得gamma_i 我也不知道怎麽回事
请问我是eval用错了吗? 还是说我根本不该这样写呢??
先谢谢花时间看这po文的人.............
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.182.210
1F:推 jatj:['w', int2str(i), '=exp((-1*log(1/p)))^(gamma', int2str(i 12/09 15:10
2F:→ jatj:i), ');'] 12/09 15:11
3F:→ jatj:1. 单一数值不需要./ 2. eval用法错误 12/09 15:12
4F:→ jatj:3. 万不得已才用eval, 尽量把gamma和w设为一个变数 12/09 15:13
5F:→ jatj:而不是g_1, g_2, w1, w2 程式执行会很没有效率(因为eval) 12/09 15:14
6F:→ liu02112:还不太理解 让我在想想 谢谢你 jatj 12/10 23:33