24小时热门版块排行榜    

查看: 1909  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wzp0098

木虫 (著名写手)

[求助] 利用for 语句画图

K=-10:1:10;
for m=1:K;
    K1=Length(K)
    w=10;
K2=K1+2*w;x=0.2;
r1=8;r2=0.001*r1;T=3;
A=[-r1 r2-r1 -i*x i*x 0 0 0 0;
   0 -r2 0 0 0 0 i*T -i*T;
   -2*i*x -i*x -r1-i*K1*0.5 0 -i*T 0 0 0;
   2*i*x i*x 0 -r1+i*K1*0.5 0 i*T 0 0;
   0 0 -i*T 0 -r2-i*(K1+K2)*0.5 0 i*x 0;
   0 0 0 i*T 0 -r2+i*(K1+K2)*0.5 0 -i*x;
   i*T 2*i*T 0 0 i*x 0 -r2-r1+i*(K1-K2)*0.5 0;
   -i*T -2*i*T 0 0 0 -i*x 0 -r2-r1-i*(K1-K2)*0.5];
B=[-r1;0;-i*x;i*x;0;0;i*T;-i*T];
Y=A\B;
y=imag(Y(3));
end
plot(K,y)
我想利用for循环语句画出图形,可是无法运行,求大虾赐教!
回复此楼

» 猜你喜欢

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

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

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
wzp0098: 金币+30, ★★★很有帮助, 牛人!! 2012-07-09 11:16:29
臭水沟: 金币+3, 谢谢交流~~ 2012-07-09 21:24:09
function parafit
K=-10:0.1:10;
P=0*K;
for n=1:length(K);
    K1=K(n);
    w=10;
K2=K1+2*w;x=0.5;
r1=8;r2=0.001*r1;T=3;
A=[-r1 r2-r1 -i*x i*x 0 0 0 0;
   0 -r2 0 0 0 0 i*T -i*T;
   -2*i*x -i*x -r1-i*K1*0.5 0 -i*T 0 0 0;
   2*i*x i*x 0 -r1+i*K1*0.5 0 i*T 0 0;
   0 0 -i*T 0 -r2-i*(K1+K2)*0.5 0 i*x 0;
   0 0 0 i*T 0 -r2+i*(K1+K2)*0.5 0 -i*x;
   i*T 2*i*T 0 0 i*x 0 -r2-r1+i*(K1-K2)*0.5 0;
   -i*T -2*i*T 0 0 0 -i*x 0 -r2-r1-i*(K1-K2)*0.5];
B=[-r1;0;-i*x;i*x;0;0;i*T;-i*T];
Y=A\B;
P(n)=imag(Y(3));
end
plot(K,P)
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
7楼2012-07-09 11:05:11
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

fjtony163

版主 (文坛精英)

米米

优秀版主优秀版主优秀版主优秀版主优秀版主

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+1, 谢谢参与 2012-07-08 09:54:21
wzp0098: 金币+5, 有帮助 2012-07-08 11:11:48
K 是一个行向量,m定义为1到一个行向量肯定运行不了啊。m指的是循环次数,应该就是m=1:10这样的。能稍微具体说下是个怎样的式子么。
2楼2012-07-08 09:19:50
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

wzp0098

木虫 (著名写手)

引用回帖:
2楼: Originally posted by fjtony163 at 2012-07-08 09:19:50
K 是一个行向量,m定义为1到一个行向量肯定运行不了啊。m指的是循环次数,应该就是m=1:10这样的。能稍微具体说下是个怎样的式子么。

谢谢,我就是想画出y随K1变化的图像!K1取一个值,就可以得到一个y值,利用for语句循环。做了修改,还是不行!
K1=-10:1:10;
for m=1:Length(K);
    K1=m
    w=10;
K2=K1+2*w;x=0.2;
r1=8;r2=0.001*r1;T=3;
A=[-r1 r2-r1 -i*x i*x 0 0 0 0;
   0 -r2 0 0 0 0 i*T -i*T;
   -2*i*x -i*x -r1-i*K1*0.5 0 -i*T 0 0 0;
   2*i*x i*x 0 -r1+i*K1*0.5 0 i*T 0 0;
   0 0 -i*T 0 -r2-i*(K1+K2)*0.5 0 i*x 0;
   0 0 0 i*T 0 -r2+i*(K1+K2)*0.5 0 -i*x;
   i*T 2*i*T 0 0 i*x 0 -r2-r1+i*(K1-K2)*0.5 0;
   -i*T -2*i*T 0 0 0 -i*x 0 -r2-r1-i*(K1-K2)*0.5];
B=[-r1;0;-i*x;i*x;0;0;i*T;-i*T];
Y=A\B;
y=imag(Y(3));
end
plot(K1,y)
3楼2012-07-08 11:17:39
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

fjtony163

版主 (文坛精英)

米米

优秀版主优秀版主优秀版主优秀版主优秀版主

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
臭水沟: 金币+2, 谢谢交流~~ 2012-07-08 18:02:36
wzp0098: 金币+5, 有帮助, 谢谢 2012-07-09 10:30:27
引用回帖:
3楼: Originally posted by wzp0098 at 2012-07-08 11:17:39
谢谢,我就是想画出y随K1变化的图像!K1取一个值,就可以得到一个y值,利用for语句循环。做了修改,还是不行!
K1=-10:1:10;
for m=1:Length(K);
    K1=m
    w=10;
K2=K1+2*w;x=0.2;
r1=8;r2=0.001*r1;T=3 ...

从中间的赋值到end之前的部分我不知道是啥,但只要你认为输对了就没事。

关键是赋值之前的部分,就我的理解应该是
K=-10:1:10
for m=1:length(K)
K1=K(m)
w=10;
………………
4楼2012-07-08 11:30:10
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见