24小时热门版块排行榜    

查看: 711  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wgy318

金虫 (小有名气)

[交流] 【求助】关于编程的一个问题 已有3人参与

我现在有一个小程序,想把数组B=[j-1,j+1,j+17,j+18]
中满足条件的值赋给j,数组B中满足条件的应该有两个,但是每次输出j时,总是给出的是一个值。想请教一下大家,有什么可以解决的办法吗?下面是部分程序:
for i=1:3
     for i=1;289
         if jiedian(i).flag==1
            j=i;
         end
     end
     K=4*s/(50).*A;
%      getfield(jiedian,'liulv')
    for i=1:289
         Q(i)=jiedian(i).liulv;
    end
    P=Jacobian(K,Q);
    for i=1:289
       jiedian(i).yaqiang=P(i) ;
    end
  if j>=2 & j<=16
           jiedian(j-1).liulv=2*s*(jiedian(j).yaqiang+jiedian(j-2).yaqiang+jiedian(j+17).yaqiang+jiedian(j+16).yaqiang);
           jiedian(j+1).liulv=2*s*(jiedian(j).yaqiang+jiedian(j+2).yaqiang+jiedian(j+18).yaqiang+jiedian(j+19).yaqiang);
           jiedian(j+17).liulv=2*s*(jiedian(j+16).yaqiang+jiedian(j+18).yaqiang+jiedian(j).yaqiang+jiedian(j+34).yaqiang+jiedian(j-1).yaqiang+jiedian(j+35).yaqiang);
           jiedian(j+18).liulv=2*s*(jiedian(j+17).yaqiang+jiedian(j+19).yaqiang+jiedian(j+1).yaqiang+jiedian(j+35).yaqiang+jiedian(j).yaqiang+jiedian(j+36).yaqiang);
            D=[(1-jiedian(j-1).flag)*v(j-1),dian(j-1).liulv,(1-jiedian(j+1).flag)*v(j+1),dian(j+1).liulv,(1-jiedian(j+17).flag)*v(j+17),dian(j+17).liulv,(1-jiedian(j+18).flag)*v(j+18),dian(j+18).liulv]
            t=min(D)
            B=[j-1,j+1,j+17,j+18]
            l=size(B);
            ll=l(2);
             for k=1:1:ll
                 jiedian(B(k)).flag=jiedian(B(k)).flag+t*jiedian(B(k)).liulv.(B(k));
             end
%              jiedian(8).flag;
                 for k=1:1:ll
                     if jiedian(B(k)).flag==1
                        j=B(k);
%                         jiedian(B(k)).flag=jiedian(B(k)).flag+1;
                     end
                     
                 end
         end
   
   
   
   
   
   
end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

free--fire

新虫 (小有名气)

★ ★
zzuwangshilei(金币+2):多谢指出问题 2010-07-16 10:49:07
wgy318(金币+3): 2010-07-17 09:09:51
引用回帖:
Originally posted by wgy318 at 2010-07-15 16:37:08:
我现在有一个小程序,想把数组B=[j-1,j+1,j+17,j+18]
中满足条件的值赋给j,数组B中满足条件的应该有两个,但是每次输出j时,总是给出的是一个值。想请教一下大家,有什么可以解决的办法吗?下面是部分程序:
f ...

(错误一)第二行分号改成冒号。
(危险二)最外层循环用i做下标,但是紧跟着内层循环也是用i做下标,内层的下标i会将外层的下标覆盖,但是不会提示语法错误。
我是流,是浮云天上游;我是虎,是大虫卧山谷。
4楼2010-07-16 09:47:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

懵懂学童

金虫 (小有名气)

★ ★
adu886886(金币+2):鼓励应助!欢迎常来仿真模拟板块! 2010-07-16 08:34:43
wgy318(金币+8): 2010-07-16 08:59:11
j的值被覆盖了,可以定义一个数组,将数组B中满足条件的值赋给这个数组。
例如:if jiedian(B(k)).flag==1  
           A(K)=B(k);
            if A(k)==0
               A(k)=[];
            end
         end
2楼2010-07-15 20:46:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wgy318

金虫 (小有名气)

[quote]Originally posted by 懵懂学童 at 2010-07-15 20:46:34:
j的值被覆盖了,可以定义一个数组,将数组B中满足条件的值赋给这个数组。
例如:if jiedian(B(k)).flag==1  
           A(K)=B(k);
            if A(k)==0
               A(k)=[];
            end
     ... [/quote
这个数组里的元素的个数可以变吗?如果这个数组设定的是六个,但是判断之后满足条件的是3个,那么加到这个数组里面,会不会因为没有填满数组而不能计算呢?
3楼2010-07-16 09:05:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

懵懂学童

金虫 (小有名气)


zzuwangshilei(金币+1):积极参与 2010-07-16 10:49:27
wgy318(金币+1):5 2010-07-17 09:34:21
数组B中满足条件的值的个数最多为数组B的长度,A(K)=B(k)语句将满足条件的值赋给数组A,而不满足条件的位置默认为0,所以此时数组A的长度和数组B一样。利用A(k)=[]语句,可以将数组A中的默认值置为空矩阵,只剩数组B中满足条件的值。
赞成4楼提出的问题,应该注意一下程序中的细节问题。
5楼2010-07-16 10:08:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0703化学336分求调剂 +6 zbzihdhd 2026-03-15 7/350 2026-03-18 09:53 by zhukairuo
[考研] 293求调剂 +11 zjl的号 2026-03-16 16/800 2026-03-18 08:10 by zhukairuo
[基金申请] 被我言中:新模板不强调格式了,假专家开始管格式了 +4 beefly 2026-03-14 4/200 2026-03-17 22:04 by 黄鸟于飞Chao
[考研] 308求调剂 +4 是Lupa啊 2026-03-16 4/200 2026-03-17 17:12 by ruiyingmiao
[考研] 本人考085602 化学工程 专硕 +16 不知道叫什么! 2026-03-15 18/900 2026-03-17 17:05 by ruiyingmiao
[考研] 085600材料与化工求调剂 +5 绪幸与子 2026-03-17 5/250 2026-03-17 16:40 by laoshidan
[考研] 290求调剂 +6 孔志浩 2026-03-12 11/550 2026-03-17 14:41 by 周舟舟77
[考博] 26申博 +4 八旬速览 2026-03-16 4/200 2026-03-17 13:00 by 轻松不少随
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[基金申请] 国自科面上基金字体 +6 iwuli 2026-03-12 7/350 2026-03-16 21:18 by sculhf
[考研] 药学383 求调剂 +3 药学chy 2026-03-15 4/200 2026-03-16 20:51 by 元子^0^
[考研] 333求调剂 +3 文思客 2026-03-16 7/350 2026-03-16 18:21 by 文思客
[基金申请] 今年的国基金是打分制吗? 50+3 zhanghaozhu 2026-03-14 3/150 2026-03-16 17:07 by 北京莱茵润色
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 070303一志愿西北大学学硕310找调剂 +5 d如愿上岸 2026-03-12 8/400 2026-03-16 15:19 by peike
[考研] 315求调剂 +9 小羊小羊_ 2026-03-11 10/500 2026-03-13 21:13 by SXNU李老师
[考研] 一志愿211化学学硕310分求调剂 +8 努力奋斗112 2026-03-12 9/450 2026-03-13 15:41 by JourneyLucky
[考研] 求调剂 +3 程雨杭 2026-03-12 3/150 2026-03-13 15:06 by JourneyLucky
[考研] 化工学硕306求调剂 +9 42838695 2026-03-12 9/450 2026-03-13 10:16 by houyaoxu
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-03-12 4/200 2026-03-12 19:33 by 求调剂zz
信息提示
请填处理意见