声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2084|回复: 14

[编程技巧] 求助调用矩阵

[复制链接]
发表于 2006-11-17 12:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
求助高手,怎样调用矩阵.用一个变量来表示一个矩阵.如
clear
for i=1:5
    p(1)=20;
    p(i+1)=5*p(i);
    fprintf('%d\n',p(i+1));
   
    end
    若把初值20    换成一个矩阵如   [1 2 3 ;4  3 8; 12 45 56]

若想用一个变量p(i)  中 i 的变化来代表一个矩阵,此算法该怎么编程.
回复
分享到:

使用道具 举报

发表于 2006-11-17 18:22 | 显示全部楼层
那样应该可以用元胞实现的吧!把你的p(i)换成p{i}问题就几乎能够解决掉了
P:楼主似乎不常用Matlab吧!你的程序可以改进的地方有很多...
发表于 2006-11-17 18:29 | 显示全部楼层
原帖由 Tla 于 2006-11-17 18:22 发表
那样应该可以用元胞实现的吧!把你的p(i)换成p{i}问题就几乎能够解决掉了
P:楼主似乎不常用Matlab吧!你的程序可以改进的地方有很多...



Tla兄能够看明白楼主的用意,实在高!我看了半天没有看懂

[ 本帖最后由 eight 于 2006-11-17 18:30 编辑 ]
发表于 2006-11-17 18:50 | 显示全部楼层
原帖由 eight 于 2006-11-17 18:29 发表
Tla兄能够看明白楼主的用意,实在高!我看了半天没有看懂

:@D猜的,估计它也是想把一个矩阵整体处理,就推荐一下用元胞,
不知道 eight 还有什么新奇的想法?
发表于 2006-11-17 19:00 | 显示全部楼层
原帖由 Tla 于 2006-11-17 18:50 发表

:@D猜的,估计它也是想把一个矩阵整体处理,就推荐一下用元胞,
不知道 eight 还有什么新奇的想法?



实话说,我仍然没有看懂楼主的意思,呵呵
发表于 2006-11-17 19:49 | 显示全部楼层

回复

真没看懂.---是把矩阵当成一个"块"来调用吗?
建议先把问题讲清楚一些.

[ 本帖最后由 xjzuo 于 2006-11-17 19:55 编辑 ]
发表于 2006-11-17 21:13 | 显示全部楼层
原帖由 eight 于 2006-11-17 19:00 发表

实话说,我仍然没有看懂楼主的意思,呵呵

嗯,,看来应该好好琢磨琢磨这个问题了,楼主跑哪儿去了?来给解释一下!
附上我的理解:

  1. for i = 1:5
  2. A{i} = rand(i);% 测试用
  3. end
复制代码

  1. B{1} = rand(3);
  2. for i = 1:5
  3. B{i+1} = 5*A{i};
  4. disp(B{i});
  5. end
复制代码

不知道这是不是楼主想要的!顺便问问 eight,你将会怎样理解这个问题呢!我现在也迷糊了,最开始还只以为它就是那么回事!

[ 本帖最后由 Tla 于 2006-11-17 21:15 编辑 ]
发表于 2006-11-17 21:38 | 显示全部楼层
原帖由 Tla 于 2006-11-17 21:13 发表

嗯,,看来应该好好琢磨琢磨这个问题了,楼主跑哪儿去了?来给解释一下!
附上我的理解:

for i = 1:5
A{i} = rand(i);% 测试用
end


B{1} = rand(3);
for i = 1:5
B{i+1} = 5*A{i};
disp(B{i});
...



仍然迷惑中。。。。。。。。。
发表于 2006-11-17 21:49 | 显示全部楼层
原帖由 eight 于 2006-11-17 21:38 发表



仍然迷惑中。。。。。。。。。

若想用一个变量p(i)  中 i 的变化来代表一个矩阵,

猜楼主可能只是想把一矩阵与一个数做一个整体上的乘法运算,
就给了上面的程序简单示例了一下。现在看来我想法应该有一些不妥了!
照楼主说的用一个变量的变化代表矩阵,想了想似乎应该只有A{i}和A(:,:,i)能够基本上满足,不过A(:,:,i)似乎需要前面的两个必须相同大小,用A{i}更灵活。

现在我也迷惑了,等待楼主过来给解释一下子!eight,能把你的看法说出来吗?原本以为这只是一个很基础的问题。现在看来有一些不太对劲了。。。
发表于 2006-11-18 10:44 | 显示全部楼层
原帖由 Tla 于 2006-11-17 21:49 发表



猜楼主可能只是想把一矩阵与一个数做一个整体上的乘法运算,
就给了上面的程序简单示例了一下。现在看来我想法应该有一些不妥了!
照楼主说的用一个变量的变化代表矩阵,想了想似乎应该只有A{i}和A(:,:,i ...



恐怕要等楼主现身了,按照他的简略表达,我无法想出他的用意
发表于 2006-11-18 18:00 | 显示全部楼层
皇帝不急太监急...
eight、tla:
你们两个真是有病!:lol:lol

[ 本帖最后由 bainhome 于 2006-11-18 18:03 编辑 ]
发表于 2006-11-18 19:06 | 显示全部楼层
原帖由 bainhome 于 2006-11-18 18:00 发表
皇帝不急太监急...
eight、tla:
你们两个真是有病!:lol:lol

:@L
初步估计为这是一个非常新奇的用法!很有兴趣知道一下...所以就讨论开了
发表于 2006-11-18 19:07 | 显示全部楼层
实现矩振作为单元的操作,我推介用元胞,也可以用多维数组来实现,例如定义A{i,j},其中A{i,j}中的每一个元素均可以为矩阵,比如A{1,1}=B,实现矩阵操作。用MATLAB实现N皇后问题时就需要把矩阵作为单元,我们就可以用A{i,j}这种方法来实现。
 楼主| 发表于 2006-11-19 11:28 | 显示全部楼层
多谢几位大哥的指点,我刚学matlab没几天表述的不是很清楚给你们添麻烦了.刚把问题发表了,就有事出去了,请原谅,实在抱歉.在此谢谢几位了,我把你门的程序试一下.
 楼主| 发表于 2006-11-19 19:44 | 显示全部楼层
我表述的不是很清楚,Tlad的例子就是我所要的,翻了两本书没有发现用下标来表示矩阵的例子.没想到我这块砖引来了两块玉,我还达不到与你门交流的水平,刚刚学,正在努力,谢谢!!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-29 10:46 , Processed in 0.157314 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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