24小时热门版块排行榜    

查看: 359  |  回复: 2

lhl851128

新虫 (初入文坛)

[求助] 画出来 的图只有空格子没有图形,帮我看看问题在哪里

clc;clear;
F = zeros(1,100);
for  t = 0:0.05:0.05*99;
po=[1/2,0,0,1/2;
    0,0,0,0;
    0,0,0,0;
    1/2,0,0,1/2]
pt=[ (1/2*cos(1781/10*t)-1/2*i*sin(1781/10*t))*conj(cos(1781/10*t)-i*sin(1781/10*t)),0,0,(1/2*cos(1781/10*t)-1/2*i*sin(1781/10*t))*conj(cos(2563/10*t)+i*sin(2563/10*t));
    0,0,0,0;
    0,0,0,0;
   (1/2*cos(2563/10*t)+1/2*i*sin(2563/10*t))*conj(cos(1781/10*t)-i*sin(1781/10*t)),0,0,(1/2*cos(2563/10*t)+1/2*i*sin(2563/10*t))*conj(cos(2563/10*t)+i*sin(2563/10*t))]
  F=[Trace(sqrt((sqrt(po)*pt*(sqrt(po)))))]^2;
end
plot(t,F)
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ygEric

金虫 (著名写手)

【答案】应助回帖

clc;clear;
F = zeros(1,100);
k=1;
for  t = 0:0.05:0.05*99;
po=[1/2,0,0,1/2;
    0,0,0,0;
    0,0,0,0;
    1/2,0,0,1/2]
pt=[ (1/2*cos(1781/10*t)-1/2*i*sin(1781/10*t))*conj(cos(1781/10*t)-i*sin(1781/10*t)),0,0,(1/2*cos(1781/10*t)-1/2*i*sin(1781/10*t))*conj(cos(2563/10*t)+i*sin(2563/10*t));
    0,0,0,0;
    0,0,0,0;
   (1/2*cos(2563/10*t)+1/2*i*sin(2563/10*t))*conj(cos(1781/10*t)-i*sin(1781/10*t)),0,0,(1/2*cos(2563/10*t)+1/2*i*sin(2563/10.*t))*conj(cos(2563/10.*t)+i*sin(2563/10*t))]
  F(k)=[Trace(sqrt((sqrt(po)*pt*(sqrt(po)))))]^2;
  k=k+1;
end
plot(t,F)
-------------
F应该是向量,所以要用向量赋值的形式F(k)=?
2楼2011-11-11 22:41:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ygEric

金虫 (著名写手)

【答案】应助回帖

lhl851128(金币+1): 万分感谢 2011-11-14 11:16:07
你的程序写错了,上面的也得不出正确结果,下面的为正解:
--------------------
clc;clear;

for  k = 0:99;
    t=k*0.05;% t=0:0.05:0.05*99
po=[1/2,0,0,1/2;
    0,0,0,0;
    0,0,0,0;
    1/2,0,0,1/2]
pt=[ (1/2*cos(1781/10*t)-1/2*i*sin(1781/10*t))*conj(cos(1781/10*t)-i*sin(1781/10*t)),0,0,(1/2*cos(1781/10*t)-1/2*i*sin(1781/10*t))*conj(cos(2563/10*t)+i*sin(2563/10*t));
    0,0,0,0;
    0,0,0,0;
   (1/2*cos(2563/10*t)+1/2*i*sin(2563/10*t))*conj(cos(1781/10*t)-i*sin(1781/10*t)),0,0,(1/2*cos(2563/10*t)+1/2*i*sin(2563/10.*t))*conj(cos(2563/10.*t)+i*sin(2563/10*t))]
  F(k+1)=[Trace(sqrt((sqrt(po)*pt*(sqrt(po)))))]^2; % F(1),F(2),F(3),...
end
x=0:0.05:0.05*99;
plot(x,F)
axis([0 5.5 -1 6])

你的错误原因:for中的t是单个变量,不是向量,因此只有一个值。plot时需要x向量和y向量
3楼2011-11-11 22:53:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lhl851128 的主题更新
信息提示
请填处理意见