24小时热门版块排行榜    

查看: 712  |  回复: 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的回帖

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的回帖
查看全部 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的回帖

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的回帖

懵懂学童

金虫 (小有名气)


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的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿985,本科211,0817化学工程与技术319求调剂 +6 Liwangman 2026-03-15 6/300 2026-03-18 13:21 by 尽舜尧1
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 296求调剂 +5 大口吃饭 身体健 2026-03-13 5/250 2026-03-17 21:05 by 不惑可乐
[考研] 268求调剂 +7 好运连绵不绝 2026-03-12 8/400 2026-03-17 20:28 by xilongliang
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[硕博家园] 湖北工业大学 生命科学与健康学院-课题组招收2026级食品/生物方向硕士 +3 1喜春8 2026-03-17 5/250 2026-03-17 17:18 by ber川cool子
[考研] 26考研求调剂 +6 丶宏Sir 2026-03-13 6/300 2026-03-17 16:13 by 醉在风里
[考研] 285化工学硕求调剂(081700) +9 柴郡猫_ 2026-03-12 9/450 2026-03-17 10:18 by Sammy2
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
[考研] 304求调剂 +3 曼殊2266 2026-03-14 3/150 2026-03-16 16:39 by houyaoxu
[考研] 085600材料与化工 求调剂 +13 enenenhui 2026-03-13 14/700 2026-03-16 15:19 by 了了了了。。
[考研] 327求调剂 +6 拾光任染 2026-03-15 11/550 2026-03-15 22:47 by 拾光任染
[考研] 中科大材料与化工319求调剂 +3 孟鑫材料 2026-03-14 3/150 2026-03-14 20:10 by ms629
[考研] 289求调剂 +4 这么名字咋样 2026-03-14 6/300 2026-03-14 18:58 by userper
[考研] 复试调剂 +3 呼呼?~+123456 2026-03-14 3/150 2026-03-14 16:53 by WTUChen
[考研] 材料080500调剂求收留 +3 一颗meteor 2026-03-13 3/150 2026-03-14 10:54 by peike
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[考研] 工科,求调剂 +3 我887 2026-03-11 3/150 2026-03-13 21:39 by JourneyLucky
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
信息提示
请填处理意见