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

为什么循环的结果都一样

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
G=6.67*10^(-11);" o3 w7 l' t, j; ^
r=100;
  k( {; V2 a/ N6 P* e* Q. vh=500;
( Z7 i$ O0 z5 Q8 U$ gm=0.1*(4/3)*pi*r^3;) C& `6 v6 f3 k: h; K( l, b4 y
g=zeros(41,41);7 P4 [5 C0 e# e5 Q, l( P
for x=-1000:50:1000
. |1 X  n0 Z5 \% x& \( a, [" O# R1 c    for y=-1000:50:10007 y$ L1 o: @& D" p' c  W
        g(1:41,: )=G*m*h/((x^2+y^2+h^2)^(3/2));
3 i: H* f8 i  J( Z, I# @    end9 M: W: V; F+ `
end
1 B2 l" m  d* A
0 r8 s: s! B1 j# {2 J
  • TA的每日心情
    开心
    2022-1-21 15:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2023-1-10 16:54 | 只看该作者
    你的赋值语句不对,循环中每次赋值都是给g矩阵的整体赋值,所以结果就是最后一次循环给g整体赋值的结果# ]+ I, j$ n3 H2 M& ^# N9 T
    x=-1000:50:1000;
    5 z% l4 @7 \0 z+ s; x& f& |y=-1000:50:1000;
    ; V4 g4 D# U) g* d7 J# [5 ^0 yfor i=1:41
    " b2 V. o  F- ]3 L9 `  ^1 }  B    for j=1:41. n: k& l/ V3 A/ H& t: G
            g(i,j)=G*m*h/((x(i)^2+y(j)^2+h^2)^(3/2));
    * t' E( c7 ~* Z  X2 X    end
    7 A, u6 k, A- h$ pend
    6 B7 [- w2 j& F! F3 j复制代码
    & c3 J/ R" `, U% M$ {4 G看一下这是不是你要的结果,如果不是请自己理解并修改一下吧。

    该用户从未签到

    3#
    发表于 2023-1-10 17:06 | 只看该作者
    这严格来说就不是MATLAB问题,是你循环逻辑写错了,你在循环中没有控制变量,在不停地重复相同的赋值。打个比方,裁缝店来了高个子客人应该给长衣服,来了胖客人应该给宽衣服,裁缝店这个提供衣服的循环,应当根据控制变量也就是客人的具体身材,进行控制。可你现在这个循环,实质上是不管来了什么身材的客人,统统扔出来41*41套一模一样的衣服。
    % s* r* m7 ?$ R9 L改成
    # |0 m- z; e' q; S7 u) j: kxSet = -1000:50:1000;1 m7 ~, v/ V) ?
    ySet = -1000:500:1000;
    . h0 A  E; Y& y( D$ gfor index_row = 1 : 1 : numel( xSet )
    + U/ m% r! K/ ^: \    x = xSet( index_row );; ?3 ~* B4 f9 k6 P8 R; i1 T- `( K  w
        for index_column = 1 : 1 : numel( ySet )! S! X+ S# l5 I% s: H/ Q: K* }
            y = ySet( index_column );+ L( h3 }4 [* v$ X
            g( index_row, index_column ) = G * m * h / ( ( x^2 + y^2 + h^2 ) ^ ( 3/2 ) );
    0 L. f. i8 w( j. N4 z( R8 D    end" k! X1 j0 D- ?9 G
    end
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    4#
    发表于 2023-1-10 17:09 | 只看该作者
    这么改也可以:. p8 x% X4 a' \( N9 I9 Z
    clear;clc
    7 h) ^! a& K, |9 t" n1 U
    9 _" r4 ^9 S5 v! p; Y  A6 b- aG=6.67*10^(-11);
    9 y& ~  j! M1 X0 p" H% u& o" ]r=100;
    6 B- m+ `0 e3 T6 w( ?2 ^! \) b- Oh=500;3 J, s3 u# j$ ^- w" L
    m=0.1*(4/3)*pi*r^3;% d! d- D# _  L0 K, f
    g=zeros(41,41);
    * G! L4 b  v) j
    + @4 K. M, n  y( I7 a0 _# ^i = 0;) K, }2 z1 p& N/ D7 A
    for x=-1000:50:1000* y  [, ]% D% K+ k9 x
        i = i + 1;
    - R$ F5 a! a' }4 J    y = -1000:50:1000;. F% }6 e0 n& k8 X8 q' y8 \: s
        g(i,: )=G*m*h./((x^2+y.^2+h^2).^(3/2));) l: K  V. C: p. C
    end
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-23 14:42 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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