在matlab编程中,如何生成如下图的二维坐标矩阵?

在matlab的编程中,如何生成如下图所示的二维坐标矩阵,并且怎么调用?... 在matlab的编程中,如何生成如下图所示的二维坐标矩阵,并且怎么调用? 展开
 我来答
tianxiawulang
2015-05-25 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2574万
展开全部

1、普通的数值矩阵的元素只能是一个数,不可能是这样的数对。要存储这样的数对,一般采用cell数组,例如:

>> [y,x]=meshgrid(1:4);
>> C=arrayfun(@(x,y)[x,y],x,y,'UniformOutput',false)
C =
    [1x2 double]    [1x2 double]    [1x2 double]    [1x2 double]
    [1x2 double]    [1x2 double]    [1x2 double]    [1x2 double]
    [1x2 double]    [1x2 double]    [1x2 double]    [1x2 double]
    [1x2 double]    [1x2 double]    [1x2 double]    [1x2 double]
>> C{3,2}
ans =
     3     2

按照cell数组的显示方式,整体显示时不会直接显示向量的内容,需要按元素查看才行。

 

2、如果希望按照图中的包括括号和逗号的方式显示,可以用字符串表示数对:

>> [y,x]=meshgrid(1:4);
>> arrayfun(@(x,y)sprintf('(%i,%i)',[x,y]),x,y,'UniformOutput',false)
ans =
    '(1,1)'    '(1,2)'    '(1,3)'    '(1,4)'
    '(2,1)'    '(2,2)'    '(2,3)'    '(2,4)'
    '(3,1)'    '(3,2)'    '(3,3)'    '(3,4)'
    '(4,1)'    '(4,2)'    '(4,3)'    '(4,4)'

3、怎么样调用是由题主自己决定的,因为别人根本不知道你想调用了干什么。

追问
看懂了 但是如楼主回答那样  C{3,2}= 3  2  如果想调用C{3,2}中的某一数值比如3  该如何操作?
追答

取cell数组的元素用花括号,取出来后是一个普通的数值向量,再取向量的元素用圆括号就行:

>> C{3,2}(1)
ans =
     3
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式