24小时热门版块排行榜    

查看: 2511  |  回复: 10

d-touch

木虫 (著名写手)

[求助] matlab里如何实现用向量赋值数组元素并且时数组实现运算? 已有1人参与

譬如这样的数组:Z = [1,b;1,0],X= [1,0;c,1]其中b和c是维数相等的向量,如何把向量b和c赋值进Z、X,并且实现譬如Z*X的运算?
小白一个,望好心的大神们尽量讲简单点
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
d-touch: 金币+5, 有帮助 2015-01-21 17:35:34
第一反应是重新写一个类,重新定义*。但记得好像有个函数可以,忘记了,我找找。。。
2楼2015-01-21 15:20:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

上次忘保存,找不到了。。。
说一下用新类的想法吧:
定义一个新类,建议用Z,X用{},新类继承cell。
重新定义方法mtimes,注意一下b c维度(例如3*2的时候注意用’再乘)
运算的时候用cell2mat把cell转换成内置mtimes能作用的矩阵。

暂时想到这些,
希望别人能有更好地想法。
3楼2015-01-21 16:20:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

引用回帖:
3楼: Originally posted by acalephs at 2015-01-21 16:20:09
上次忘保存,找不到了。。。
说一下用新类的想法吧:
定义一个新类,建议用Z,X用{},新类继承cell。
重新定义方法mtimes,注意一下b c维度(例如3*2的时候注意用’再乘)
运算的时候用cell2mat把cell转换成内置 ...

额,说错了,不能继承cell。。。不用继承试试。。
4楼2015-01-21 16:41:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

d-touch

木虫 (著名写手)

引用回帖:
4楼: Originally posted by acalephs at 2015-01-21 16:41:53
额,说错了,不能继承cell。。。不用继承试试。。...

谢谢您的回答。但是可能我说得不够清楚,我把具体问题给出来吧:
我有一个1000*1的向量f,如何把生成这样的矩阵T:
[1 f
0  1]
,这实际应该是一个三维矩阵。然后要实现以f为变量的同类2*2矩阵的运算,譬如:
[1 f(2)    *    [f(2)  f(2)
0  1    ]          1       1 ]
这样的运算?是否一定要用for循环依次计算?
5楼2015-01-21 17:35:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
kabaisun: 应助指数+1 2015-01-22 08:12:16
d-touch: 金币+10, ★★★很有帮助 2015-01-22 11:36:59
d-touch: 金币+5, ★★★★★最佳答案 2015-01-23 09:02:33
引用回帖:
5楼: Originally posted by d-touch at 2015-01-21 17:35:29
谢谢您的回答。但是可能我说得不够清楚,我把具体问题给出来吧:
我有一个1000*1的向量f,如何把生成这样的矩阵T:

,这实际应该是一个三维矩阵。然后要实现以f为变量的同类2*2矩阵的运算,譬如:

这样的运 ...

额,这个问题是这样的,你的三维矩阵的定义并不明确,所以我无法编写相应的程序。
我的意思是你的*所表示的数学算法要清晰的给出来才能编写程序。
举一个例子,在matlab中
CODE:
.*

会被解释成times函数
CODE:
*

会被解释成mtimes函数

然后返回来看你的问题,我想了解的问题是:
[1 f
0  1]
你说这个矩阵实际是三维的,那么,按照matlab的定义也就是说是m×n×k维的,而你的f是1000×1,那么这样组合起来实际需要补全这个三维矩阵例如补全成2×2×1000,可以想象成竖立的摩天大楼。
[1 f(2)   
0  1    ] 从这个式子看出来你希望这个”大楼“的每层的(1,1),(2,1),(2,2)分别是1,0,1,位置(1,2)是f变量,然后这个三维矩阵的乘法对于每一层是2×2的2维矩阵,而你说的三维乘法对于每一层就是mtimes的含义,你所说的*是这样吗?

如果是,你可以这样想,把这个楼放倒,横着放,想象成4条钢筋,这样向量化变成,可以化成times的含义,然后计算每条的乘积,最后组合一下4条”钢筋“的运算结果。
6楼2015-01-21 21:48:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

d-touch

木虫 (著名写手)

引用回帖:
6楼: Originally posted by acalephs at 2015-01-21 21:48:16
额,这个问题是这样的,你的三维矩阵的定义并不明确,所以我无法编写相应的程序。
我的意思是你的*所表示的数学算法要清晰的给出来才能编写程序。
举一个例子,在matlab中
.* 会被解释成times函数
* 会被解释成 ...

您讲得太形象了,我就是这个意思,就是要数栋“大楼”层数相等的每层进行矩形运算,最后结果还是2X2X1000的矩阵。您的意思是用向量化的方法,分别计算三维矩阵的4根“钢筋”,最后再生成2*1000*2的矩阵吗?
7楼2015-01-22 11:37:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

引用回帖:
7楼: Originally posted by d-touch at 2015-01-22 11:37:14
您讲得太形象了,我就是这个意思,就是要数栋“大楼”层数相等的每层进行矩形运算,最后结果还是2X2X1000的矩阵。您的意思是用向量化的方法,分别计算三维矩阵的4根“钢筋”,最后再生成2*1000*2的矩阵吗?...

8楼2015-01-22 15:59:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

d-touch

木虫 (著名写手)

谢谢您提供的思路!
9楼2015-01-23 09:02:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

beckzx

新虫 (初入文坛)

用cell试试?不清楚你的具体问题。可以不用for。设矩阵F为矩阵A中的一个元素。如,A=cell(3,3);A{2,2}=F;则F中元素F(i,j)=A{2,2}(i,j);这样就可以直接矩阵相乘了。
10楼2015-01-25 15:46:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 d-touch 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 h4CP7TrQR8Lg 2026-08-22 3/150 2026-08-23 16:30 by lXgU0RvNTDC9
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 15:18 by KM5EcsNQRBPn
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 14:57 by KM5EcsNQRBPn
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +3 process2012 2026-08-23 4/200 2026-08-23 12:54 by huixian257
[基金申请] 2026国自然函评费到账 +15 羊腰板 2026-08-21 16/800 2026-08-23 10:45 by process2012
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 07:41 by OEbVnUOu01ol
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 DpSrDtM079iu 2026-08-22 5/250 2026-08-23 04:07 by OEbVnUOu01ol
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 03:52 by OEbVnUOu01ol
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 13/650 2026-08-21 21:58 by alongwaytogo
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见