matlab cell添加元素中的元素调用问题

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
在matlab中cell函数的作用
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口matlab 与C混编中,cell数组怎么传递? - 饮水思源
饮水思源 - 主题文章阅读  [讨论区: MathTools]本主题共有 3 篇文章,分 1 页, 当前显示第 1 页 []
[][] 发信人: (网易一卡通), 信区: MathTools
题: matlab 与C混编中,cell数组怎么传递?
发信站: 饮水思源 (日11:46:39 星期一), 站内信件
看到matlab给的一个例子 $matlab\extern\examples\refbook\phonebook.c
似乎说的如果一个大小为M*N的cell数组元素全部都是数值的话,那么把这个M*N的cell
数组存成一个 M*N 的指针矩阵,每个指针指向的是这个cell内部的第一个数值元素。
如果我现在有个3维cell数组(m*n*q),每个cell里面存放的是长度不等的一维向量;那
么我在mexFunction中用一个m*n*q的三维指针数组来指向每个cell,还得另外传递一个
维数相同的三维数组,只是这个数组元素的值存放每个cell里面的元素个数吗?
或者哪位大侠在C中操作过cell数组的,给点提示?
※ 来源:?饮水思源 bbs.?[FROM: 211.99.222.55]
[][] 发信人: (网易一卡通), 信区: MathTools
题: Re: matlab 与C混编中,cell数组怎么传递?
发信站: 饮水思源 (日17:14:24 星期一), 站内信件
我的问题很简单,就是传递一个多维数组,而每个数组元素是个长度不等的向量到C函数
中计算。在matlab中用cell数组来表示这个比较方便,而在C中最通常的办法就是设置最
长向量为矩阵维数,而这样会产生很多无意义的空元素。
想了一天,也没查到别人的代码,我想到采用这样的一种在mex-file里面操纵cell数组
的方式,不晓得可不可行:
我现在有一个20*20*20的cell数组,每个cell存放长为Ci的一维数组,Ci非常数,而si
gma(Ci) 即总的数据长度N是个常数。
我在mexFunction里面建个长为N的一维数组A,存放这N个数据;再建一个20*20*20的指
针数组P,下标代表cell的下标,而这个数组里面存放是该cell里面首元素的地址。
cell{18,3,5} = [6,7,8];
cell{18,3,6} = [1,2,3,4,5];
P[17][2][5]
…, 6,7,8,1,2,3,4,5,…
P[17][2][4]
这样,我在调用函数的时候,传递这两个数组A和P,应该可以吧?
【 在 NeteaseCards (网易一卡通) 的大作中提到: 】
: 看到matlab给的一个例子 $matlab\extern\examples\refbook\phonebook.c
: 似乎说的如果一个大小为M*N的cell数组元素全部都是数值的话,那么把这个M*N的cell
: 数组存成一个 M*N 的指针矩阵,每个指针指向的是这个cell内部的第一个数值元素。
: 如果我现在有个3维cell数组(m*n*q),每个cell里面存放的是长度不等的一维向量;那
: 么我在mexFunction中用一个m*n*q的三维指针数组来指向每个cell,还得另外传递一个
: 维数相同的三维数组,只是这个数组元素的值存放每个cell里面的元素个数吗?
: 或者哪位大侠在C中操作过cell数组的,给点提示?
※ 来源:?饮水思源 bbs.?[FROM: 211.99.222.55]
[][] 发信人: (青芝坞), 信区: MathTools
题: Re: matlab 与C混编中,cell数组怎么传递?
发信站: 饮水思源 (日10:59:00 星期二), 站内信件
其实不就等价于长度为m*n*q的结构体数组,数组每个单元是长度不一的一维数组?
直接按照结构体传递不行吗?!
【 在 NeteaseCards (网易一卡通) 的大作中提到: 】
: 看到matlab给的一个例子 $matlab\extern\examples\refbook\phonebook.c
: 似乎说的如果一个大小为M*N的cell数组元素全部都是数值的话,那么把这个M*N的cell
: 数组存成一个 M*N 的指针矩阵,每个指针指向的是这个cell内部的第一个数值元素。
: 如果我现在有个3维cell数组(m*n*q),每个cell里面存放的是长度不等的一维向量;那
: 么我在mexFunction中用一个m*n*q的三维指针数组来指向每个cell,还得另外传递一个
: 维数相同的三维数组,只是这个数组元素的值存放每个cell里面的元素个数吗?
: 或者哪位大侠在C中操作过cell数组的,给点提示?
※ 来源:?饮水思源 bbs.?[FROM: 202.120.48.58]
本主题共有 3 篇文章,分 1 页, 当前显示第 1 页 [][][]如何Matlab 中在cell中添加元素
A = {2 3 4 7};A = [1 A] % 增加到最前 A = [A 10] % 增加到最后A{20} = 20 % 扩充到 20
为您推荐:
其他类似问题
扫描下载二维码二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(5531)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_095074',
blogTitle:'matlab 几个有用的函数',
blogAbstract:'例7-1& sym函数的使用方法。解:在命令窗口中输入如下命令,并按Enter键确认。&&& sqrt(3)ans =&&& 1.7321&&& a=sqrt(sym(3))&a =&3^(1/2)&&& double(a)ans =&&& 1.7321&& sym(3)/sym(5)ans =&3/5&& 3/5+1/3ans =&&& 0.9333&& sym(3)/sym(5)+sym(1)/sym(3)ans =&14/15&&例7-2& 使用sym函数定义符号表达式 。解:首先采用单个变量定义法,在命令窗口中输入如下命令,并按Enter键确认。&& a = sym(\'a\');&& b = sym(\'b\') ;&& c = sym(\'c\');&& x = sym(\'x\');',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:6,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'20',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}推荐这篇日记的豆列
······
&(3人关注)

我要回帖

更多关于 matlab cell添加元素 的文章

 

随机推荐