找回密码
 注册
关于网站域名变更的通知
查看: 349|回复: 3
打印 上一主题 下一主题

为什么循环的结果都一样

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-1-10 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
G=6.67*10^(-11);
* ]- p" R+ Y' Sr=100;+ A& j1 [8 A+ g0 ]$ C0 f
h=500;
+ [5 {( N- s/ E9 d; z& S& Km=0.1*(4/3)*pi*r^3;# U5 O* R3 J& e3 M* m
g=zeros(41,41);
; g: s- d4 ~1 D  a3 ~7 Tfor x=-1000:50:10006 n+ j' x5 D( N+ B$ r! J) ^
    for y=-1000:50:1000  T, {$ h# O  d  G* f+ V
        g(1:41,: )=G*m*h/((x^2+y^2+h^2)^(3/2));
( x- D$ w- v" e9 j3 F" X7 i    end) a; @+ p$ d2 A! t
end
8 s# p' R: U, P2 U# Z% z1 e; V4 ?- d
  • TA的每日心情
    开心
    2022-1-21 15:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2023-1-10 16:54 | 只看该作者
    你的赋值语句不对,循环中每次赋值都是给g矩阵的整体赋值,所以结果就是最后一次循环给g整体赋值的结果
    : m) O0 F8 V+ gx=-1000:50:1000;
    6 s2 n1 a' l& d/ ^! Vy=-1000:50:1000;. `1 k2 k* w- ]+ F3 \
    for i=1:41
    " R7 ?. R3 \: a  I/ ^    for j=1:41
    5 }8 F8 j+ a2 s        g(i,j)=G*m*h/((x(i)^2+y(j)^2+h^2)^(3/2));6 d: s8 j% C5 d  h2 F
        end
    2 |1 |# `9 v6 G+ \+ L- |, Vend  e2 H' G; R. ]8 N( M+ w6 s
    复制代码
    2 Y$ }, P7 i8 p! |* X看一下这是不是你要的结果,如果不是请自己理解并修改一下吧。

    该用户从未签到

    3#
    发表于 2023-1-10 17:06 | 只看该作者
    这严格来说就不是MATLAB问题,是你循环逻辑写错了,你在循环中没有控制变量,在不停地重复相同的赋值。打个比方,裁缝店来了高个子客人应该给长衣服,来了胖客人应该给宽衣服,裁缝店这个提供衣服的循环,应当根据控制变量也就是客人的具体身材,进行控制。可你现在这个循环,实质上是不管来了什么身材的客人,统统扔出来41*41套一模一样的衣服。
    . p' T% h) d5 p# W6 L改成5 a* x- G9 `6 I1 H2 U' H6 ?
    xSet = -1000:50:1000;
    / [, z7 z. ]/ |/ E3 T6 }ySet = -1000:500:1000;
    ( B4 l' i: M9 F! Qfor index_row = 1 : 1 : numel( xSet )
    0 }& C' k( L% c' N5 ~4 S    x = xSet( index_row );/ t+ u8 ]2 P" H" i
        for index_column = 1 : 1 : numel( ySet )! O  s! Y1 h! z; r5 G
            y = ySet( index_column );
    . I* ~* B0 v& j( ^1 I; z$ C; ~        g( index_row, index_column ) = G * m * h / ( ( x^2 + y^2 + h^2 ) ^ ( 3/2 ) );
    & L1 O5 F' x& C$ \    end8 w5 o" P; O/ C: E1 [
    end
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    4#
    发表于 2023-1-10 17:09 | 只看该作者
    这么改也可以:
    3 u; J# A$ g1 ~, \+ `7 pclear;clc! `% Z8 s9 E3 R5 z+ S

    3 t- x0 [' q. _$ [G=6.67*10^(-11);
    7 Y( Z$ A( K7 t5 `3 k: l% M9 dr=100;5 _) N5 T2 k' |
    h=500;5 ~5 l. [& G+ D
    m=0.1*(4/3)*pi*r^3;1 d0 U0 [5 \5 t$ I6 q1 n  L7 h0 w; J. y
    g=zeros(41,41);$ d. v1 D' h% s1 x) |: M
    ) `, u& O* t$ @# k. b9 g+ U
    i = 0;+ L7 p: l: }" g2 t
    for x=-1000:50:1000# E8 W/ G7 D0 x3 X1 P# O
        i = i + 1;
    0 G7 A3 K) p; Z" ?    y = -1000:50:1000;8 p: v: F" _( D2 y2 b% }! }/ ?2 t& z, }$ K
        g(i,: )=G*m*h./((x^2+y.^2+h^2).^(3/2));. _/ R" x9 Z/ I" F7 `: j) ~, |
    end
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-16 15:46 , Processed in 0.062500 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表