24小时热门版块排行榜    

查看: 2105  |  回复: 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的回帖

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的回帖

wzp0098

木虫 (著名写手)

引用回帖:
4楼: Originally posted by fjtony163 at 2012-07-08 11:30:10
从中间的赋值到end之前的部分我不知道是啥,但只要你认为输对了就没事。

关键是赋值之前的部分,就我的理解应该是
K=-10:1:10
for m=1:length(K)
K1=K(m)
w=10;
………………...

根据你的意见,我做了些修改,具体如下,
K=-10:0.1:10;
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=imag(Y(3));
end
plot(K,P)
但是得不到我想要的图形,望赐教!
从中间的赋值到end之前的部分是矩阵求解过程。
5楼2012-07-09 10:29:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

fjtony163

版主 (文坛精英)

米米

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

【答案】应助回帖

★ ★ ★ ★ ★
wzp0098: 金币+5, 谢谢 2012-07-09 11:16:55
引用回帖:
5楼: Originally posted by wzp0098 at 2012-07-09 10:29:59
根据你的意见,我做了些修改,具体如下,
K=-10:0.1:10;
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=;
B=;
Y=A\B;
P=imag(Y(3));
end
plot(K,P)
但是得不 ...

中间求解过程你确定对了么。。。我是弄不太清楚求解的东西。
6楼2012-07-09 10:58:10
已阅   关注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的回帖

duotojh

金虫 (小有名气)

★ ★
臭水沟: 金币+2, 谢谢交流~~ 2012-07-09 21:24:26
你的意图应该是每轮循环算出的P连接成曲线,但程序中保留的是最后一轮P值(单值),
因此画出的图形是单点当然看不到(除非将单点作标记才可以看到,例如三角符标记等等)
只需添加P向量化,并修改循环语句中的P赋值这一句即可,修改程序如下:
K = -10:0.1:10;
P = []; % <-------------------添加此句分配P为向量
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)); % <---------------------------P向量中的元素赋值
end
plot(K,P)
用freemat画出的图形如下
8楼2012-07-09 13:06:49
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

wzp0098

木虫 (著名写手)

引用回帖:
7楼: Originally posted by dbb627 at 2012-07-09 11:05:11
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=;
B=;
Y=A\B;
P(n)=imag(Y(3));
end
plot(K,P)...

我如果想画出P有关(K1,w)的二维图像,怎么处理?请牛人指教!谢谢!
9楼2012-07-09 18:24:16
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

duotojh

金虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+1, 谢谢应助 2012-07-10 11:13:40
wzp0098: 金币+2, 请给出程序 2012-07-11 09:57:41
引用回帖:
9楼: Originally posted by wzp0098 at 2012-07-09 18:24:16
我如果想画出P有关(K1,w)的二维图像,怎么处理?请牛人指教!谢谢!...

将 plot 用 scatter 替换即可
10楼2012-07-10 10:51:42
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wzp0098 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] FileCode能看出啥? +8 要乐观耀哥 2026-08-10 23/1150 2026-08-13 00:35 by 要乐观耀哥
[基金申请] 不应该看fileCode +5 且听虎啸 2026-08-12 6/300 2026-08-12 16:26 by Tide man
[基金申请] 长年满屏的广告,版主太不责任了。基金也等的急 +4 gltch 2026-08-12 4/200 2026-08-12 16:08 by eulota
[基金申请] filecode +13 documentary 2026-08-10 15/750 2026-08-12 15:56 by 云上清扬
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +4 工厂打螺丝 2026-08-08 4/200 2026-08-12 09:18 by hansi2025
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 4/200 2026-08-11 20:13 by lch2012
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
信息提示
请填处理意见