找回密码
 注册
Simdroid-非首页
查看: 107|回复: 7

求高手请教,将数组元素转换为下标的问题

[复制链接]
发表于 2010-4-13 13:30:35 | 显示全部楼层 |阅读模式 来自 湖北武汉
已知数组a是从{1,8}之中随机产生的一个8X1数组,
又有由八个元素组成的单元数组b,
其中b{1}=rand(10,3);b{2}=rand(10,3);b{3}=rand(10,3);b{4}=rand(10,3);
      b{5}=rand(10,3);b{6}=rand(10,3);b{7}=rand(10,3);b{8}=rand(10,3);
a=[
     6  
     7        
     8      
     5      
     4        
     2        
     8         
     1]
如果想计算例如A=sinX+cosY+tanZ,如果以元胞b里面的元素构成A的解,例如
A(i)=sin(b{i}(:,1))+cos(b{i}(:,2))+tan(b{i}(:,3 ));
又有a里面的元素为对应A的解的次序级b{i}的排列次序,这个问题有点类似于将数组元素转换为下标的问题,即a里面的元素为b{i}里面的i的排列顺序。我试了两天不知道这个问题怎么解决,求哪个高手帮我琢磨琢磨如何用循环语句来实现我上面说的。非常感谢
发表于 2010-4-13 14:26:21 | 显示全部楼层 来自 四川成都
Simdroid开发平台
没有怎么看明白你想表达什么意思
回复 不支持

使用道具 举报

 楼主| 发表于 2010-4-13 14:52:29 | 显示全部楼层 来自 湖北武汉
2# ldhltw



就是以a里面的元素为b{}的的i,然后A(i)的解为b{6} b{7} b{8} b{5} b{4} b{2} b{8} b{1},然后将b{i}(:,1) ,b{i}(:,2) ,b{i}(:,3)分别代到X Y Z里面去
回复 不支持

使用道具 举报

发表于 2010-4-13 22:36:25 | 显示全部楼层 来自 浙江杭州
说实话,你的描述是不清楚。

不明白,你为什么用胞元数组b和一维数组a来组合?直接用一个三维数组不就行了吗?
回复 不支持

使用道具 举报

 楼主| 发表于 2010-4-14 12:47:42 | 显示全部楼层 来自 湖北武汉
4# messenger


可能我描述的不是很清楚吧,我举个具体的例子来说说
这个是我在研究遗传算法的时候碰到的问题,比如求解一个问题,有X Y Z三个变量,
有b1 b2 b3...b8代表8种材料的性能的组合,每一种方法有3个性能,分别对应于
X:: b{1}(:,1)
Y:  b{1}(:,2)
Z : b{1}(:,3)
这三个变量,b1....b8不是简单的rand(,)生成的矩阵,我只是举个例子,a是在对“材料编号”编码解码后得到的8组解的排序,所以a是固定的,而且是在编码解码过程中出现的序列的组合,然后我不知道在计算每一个种群适应度的时候根据所得到的材料编号的组合a将b1....b8这八种材料性能的组合代到适应度函数里面去运算,我的意思有点类似于下面这个下标转换的例子:只是区别在于b1 b2 b3 b4 b5 b6 b7 b8 不是字符型变量,
a=[1 4 6;3 6 2;8 1 5]
syms b1 b2 b3 b4 b5 b6 b7 b8
b=[b1 b2 b3 b4 b5 b6 b7 b8];
c=b(a(:,:))
回复 不支持

使用道具 举报

发表于 2010-4-14 13:14:51 | 显示全部楼层 来自 浙江杭州
试试三维数组,
B(1,:,:)=b1;......;B(8,:,:)=b8;
c=B(a,:,:)

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-4-14 13:44:53 | 显示全部楼层 来自 湖北武汉
6# messenger


原来这么简单。。。之前没想过用三维数组,哎,太感谢版主了
回复 不支持

使用道具 举报

 楼主| 发表于 2010-4-14 15:15:29 | 显示全部楼层 来自 湖北武汉
我试了下 稍微改一下下就可以了
B(1,:,:)=b1;......;B(8,:,:)=b8;
c=B(:,a,:)
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-28 05:30 , Processed in 0.067163 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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