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

为什么循环的结果都一样

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
G=6.67*10^(-11);
# b% D, y) `; o  b! w" l3 nr=100;1 F5 C% f. h* P7 m; O
h=500;: _) h0 L* a* H/ H3 o! u
m=0.1*(4/3)*pi*r^3;
! k. Z/ J! L5 Vg=zeros(41,41);; x8 p& n( J5 N* C7 v
for x=-1000:50:1000
7 {1 V& W4 h' f# \9 c: n    for y=-1000:50:1000
- ~* c. S* c/ f% y2 D3 V  N, Q        g(1:41,: )=G*m*h/((x^2+y^2+h^2)^(3/2));
1 @5 y, ^; b2 H& j' K0 Q& ~, v# W    end  t1 F. W/ T# d
end
. b3 v7 r, u4 |+ b! \  B3 Z# D# b" g- L
  • TA的每日心情
    开心
    2022-1-21 15:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2023-1-10 16:54 | 只看该作者
    你的赋值语句不对,循环中每次赋值都是给g矩阵的整体赋值,所以结果就是最后一次循环给g整体赋值的结果+ F. o6 R+ c* T5 p. W; b
    x=-1000:50:1000;3 ^" e7 v$ n% x2 U+ t
    y=-1000:50:1000;+ D! W: I: v! g0 N
    for i=1:41/ {% o$ @- D2 i) o: n
        for j=1:41
    - n/ E) Q2 y  B0 e        g(i,j)=G*m*h/((x(i)^2+y(j)^2+h^2)^(3/2));
    5 p0 L6 S. G+ I7 `, i    end% Y  W; F8 d5 `0 i
    end
    3 }$ g& c* K5 ]$ _" e% x5 z复制代码! J1 J! H" {9 o% [7 W+ e0 B
    看一下这是不是你要的结果,如果不是请自己理解并修改一下吧。

    该用户从未签到

    3#
    发表于 2023-1-10 17:06 | 只看该作者
    这严格来说就不是MATLAB问题,是你循环逻辑写错了,你在循环中没有控制变量,在不停地重复相同的赋值。打个比方,裁缝店来了高个子客人应该给长衣服,来了胖客人应该给宽衣服,裁缝店这个提供衣服的循环,应当根据控制变量也就是客人的具体身材,进行控制。可你现在这个循环,实质上是不管来了什么身材的客人,统统扔出来41*41套一模一样的衣服。
    + j7 g! f8 l1 o# |改成
    8 `) r1 L# I4 T5 i5 }* H. a! oxSet = -1000:50:1000;. d  e0 l4 K+ X" z1 n$ ?  D) a
    ySet = -1000:500:1000;
    ) ]; r3 `9 g, Z0 X* q) v; jfor index_row = 1 : 1 : numel( xSet )# C6 @. X* K7 n! a- y' }
        x = xSet( index_row );/ g- p1 j; i$ d0 @1 Z, _; ~3 l! j
        for index_column = 1 : 1 : numel( ySet )4 G7 {* H' n& E: c/ P* L+ U* `
            y = ySet( index_column );
    - ]0 ]% P' T1 q% `4 w        g( index_row, index_column ) = G * m * h / ( ( x^2 + y^2 + h^2 ) ^ ( 3/2 ) );
    . l- B, J2 {+ V# A    end% E. T2 J( i" `/ U
    end
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    4#
    发表于 2023-1-10 17:09 | 只看该作者
    这么改也可以:4 U7 i: \! q$ q6 x
    clear;clc
    4 O" I. Z4 v6 Z( [( @
    5 T  P3 E& a1 ]5 c) M, z1 K/ QG=6.67*10^(-11);  j2 V) }; m; Y' w0 m; Z
    r=100;; W4 B# ?, i. ^; n/ u, i( x8 D- h
    h=500;& l) z# p* s+ K, S2 `' U. R
    m=0.1*(4/3)*pi*r^3;
    3 q( Y; L/ D+ I  _g=zeros(41,41);
    9 ^+ t7 N! f5 N! E( n4 G6 w3 |
    8 D; A7 y# \7 T1 P5 Mi = 0;
    ' i1 w/ N5 h+ Z# J$ O! Nfor x=-1000:50:1000( E7 Z) K8 i* P& v$ X
        i = i + 1;
    4 O- n% ~8 x  y    y = -1000:50:1000;1 R2 b% M% ]' i3 y7 I
        g(i,: )=G*m*h./((x^2+y.^2+h^2).^(3/2));' S3 v( }6 M' N9 v* r/ z
    end
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

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

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

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

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