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

为什么循环的结果都一样

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
G=6.67*10^(-11);
; C! s% \: R1 Y- x# Br=100;
; }# r  n( s7 V+ Sh=500;
  I+ d; M4 y: H: g% U- F2 [' i% x) M6 qm=0.1*(4/3)*pi*r^3;
) a9 f5 @. Z% U) w# E% mg=zeros(41,41);5 ?' g8 X/ w$ p' W4 x- t" q
for x=-1000:50:1000
* Z* D6 m6 a6 X' y! c( O    for y=-1000:50:1000
0 z1 z6 R5 D# A! M. P. V        g(1:41,: )=G*m*h/((x^2+y^2+h^2)^(3/2));% [0 |/ o5 p0 z! y' \" y
    end
  J! ~8 w7 F! A* A7 V- Qend
# F* s! [0 u7 F- Y; b# ^
& H: j; @8 s* R8 I5 e, r) ~4 _" h
  • TA的每日心情
    开心
    2022-1-21 15:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2023-1-10 16:54 | 只看该作者
    你的赋值语句不对,循环中每次赋值都是给g矩阵的整体赋值,所以结果就是最后一次循环给g整体赋值的结果
    ! c  B9 u1 _* C- s2 Rx=-1000:50:1000;
    6 P. p  L" E, k. @0 F" [7 O! Ny=-1000:50:1000;% {8 {# M2 ?- R5 q( v( W1 y+ ]
    for i=1:41
    % C- x9 ~: e# C3 J    for j=1:41$ u1 P% k( }% X7 v2 g3 j/ A
            g(i,j)=G*m*h/((x(i)^2+y(j)^2+h^2)^(3/2));- D; X) V7 N% b5 y
        end1 i9 R  Y+ `0 c8 h3 y1 H
    end
    2 {$ f) h! }& l( F& P/ Q" V复制代码& f: R2 v  [. {, Q
    看一下这是不是你要的结果,如果不是请自己理解并修改一下吧。

    该用户从未签到

    3#
    发表于 2023-1-10 17:06 | 只看该作者
    这严格来说就不是MATLAB问题,是你循环逻辑写错了,你在循环中没有控制变量,在不停地重复相同的赋值。打个比方,裁缝店来了高个子客人应该给长衣服,来了胖客人应该给宽衣服,裁缝店这个提供衣服的循环,应当根据控制变量也就是客人的具体身材,进行控制。可你现在这个循环,实质上是不管来了什么身材的客人,统统扔出来41*41套一模一样的衣服。  Y: }% j) ]. L% }, e4 S/ A  u+ ?
    改成
    6 [# C# K# p/ a" R. WxSet = -1000:50:1000;
    ; Z; x  I! e& P' S7 QySet = -1000:500:1000;5 E3 P+ u) u8 Y5 {6 }! j8 f3 K9 Y
    for index_row = 1 : 1 : numel( xSet )
    - L; |: H- p/ p5 v3 I! H    x = xSet( index_row );# P) {- N9 x( [# K3 S  \
        for index_column = 1 : 1 : numel( ySet )
    & e" n/ r2 v) K, S# H3 \        y = ySet( index_column );% k2 ]7 W8 b, l1 C
            g( index_row, index_column ) = G * m * h / ( ( x^2 + y^2 + h^2 ) ^ ( 3/2 ) );
      _3 a. O( O& k+ q4 J9 J    end
    6 G+ ~0 G. k2 K4 o# send
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    4#
    发表于 2023-1-10 17:09 | 只看该作者
    这么改也可以:
    % [$ T5 \8 a& H( zclear;clc- \/ `/ F# S* R; L. o
    & }. }4 [% s% Q* a
    G=6.67*10^(-11);
    8 O% @, ]& G, p) rr=100;
    . @/ p1 I1 w4 `- _/ {h=500;
    4 O) Z/ f: T6 ]3 F2 Dm=0.1*(4/3)*pi*r^3;
      W, J+ t: v' v% Q& Cg=zeros(41,41);
    4 u( {1 T& x/ @
    ; w+ R" N4 T' Z) N! y; o; i+ f$ Ni = 0;
    ' {% w- U) ^$ r( |  Qfor x=-1000:50:1000
    - s* h) H& r) y7 l5 a    i = i + 1;, v0 z' K$ f& L6 Z/ [
        y = -1000:50:1000;) T4 o& U7 B8 E8 n7 I3 A
        g(i,: )=G*m*h./((x^2+y.^2+h^2).^(3/2));
    7 Z; R6 l+ f9 d2 Nend
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-4 11:21 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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