24小时热门版块排行榜    

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

懵懂学童

金虫 (小有名气)

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

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的回帖
相关版块跳转 我要订阅楼主 wgy318 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 281求调剂(0805) +3 烟汐忆海 2026-03-16 9/450 2026-03-18 07:23 by 烟汐忆海
[考研] 085601专硕,总分342求调剂,地区不限 +4 share_joy 2026-03-16 4/200 2026-03-17 21:32 by hmn_wj
[考研] 296求调剂 +5 大口吃饭 身体健 2026-03-13 5/250 2026-03-17 21:05 by 不惑可乐
[考研] 070300化学319求调剂 +4 锦鲤0909 2026-03-17 4/200 2026-03-17 18:21 by 重科小霸王
[考研] 【0856】化学工程(085602)313 分,本科学科评估A类院校化学工程与工艺,诚求调剂 +7 小刘快快上岸 2026-03-11 8/400 2026-03-17 16:57 by ruiyingmiao
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 274求调剂 +5 时间点 2026-03-13 5/250 2026-03-17 07:34 by 热情沙漠
[考研] 药学383 求调剂 +3 药学chy 2026-03-15 4/200 2026-03-16 20:51 by 元子^0^
[考研] 286求调剂 +3 lemonzzn 2026-03-16 5/250 2026-03-16 20:43 by lemonzzn
[考研] 0703化学调剂,求各位老师收留 +8 秋有木北 2026-03-14 8/400 2026-03-16 15:21 by 哦哦123
[考研] 277材料科学与工程080500求调剂 +3 自由煎饼果子 2026-03-16 3/150 2026-03-16 14:10 by 运气yunqi
[教师之家] 焦虑 +7 水冰月月野兔 2026-03-13 9/450 2026-03-16 10:00 by Quakerbird
[考研] 080500,材料学硕302分求调剂学校 +4 初识可乐 2026-03-14 5/250 2026-03-14 21:08 by peike
[考研] 331求调剂(0703有机化学 +5 ZY-05 2026-03-13 6/300 2026-03-14 10:51 by Jy?
[考研] 材料与化工(0856)304求B区调剂 +6 邱gl 2026-03-12 7/350 2026-03-13 23:24 by 邱gl
[考研] 301求调剂 +6 Liyouyumairs 2026-03-11 6/300 2026-03-13 20:11 by JourneyLucky
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 一志愿211化学学硕310分求调剂 +8 努力奋斗112 2026-03-12 9/450 2026-03-13 15:41 by JourneyLucky
[考研] 085600材料与化工 309分请求调剂 +7 dtdxzxx 2026-03-12 8/400 2026-03-13 14:43 by jxchenghu
[考研] 081200-11408-276学硕求调剂 +3 崔wj 2026-03-12 4/200 2026-03-12 19:33 by 求调剂zz
信息提示
请填处理意见