楼主: wangzt
2907 6

Matlab矩阵使用的小小问题(完结) [推广有奖]

  • 5关注
  • 7粉丝

贵宾

已卖:201份资源

院士

47%

还不是VIP/贵宾

-

威望
4
论坛币
147568607 个
通用积分
5400.6533
学术水平
2 点
热心指数
6 点
信用等级
5 点
经验
39810 点
帖子
1058
精华
0
在线时间
3299 小时
注册时间
2007-12-10
最后登录
2025-12-22

楼主
wangzt 发表于 2008-5-4 08:48:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

有矩阵A=[1 2 3 4;4 5 6 7;7 8 9 10 ]    (3X4)

我想生成矩阵B  (3X2)

第一问: B的第一列为: A的第2列除以A第1列对应的值, B的第2列为:A的第3列除以A的第1列对应的值.

第二问:B的第一列为: A的第2列除以A第1列对应的值, B的第二列为:A的第4列除以A的第1列对应的值.

要批量生成的,因为我实际的A和B都是相当庞大的矩阵,

[此贴子已经被作者于2008-5-4 9:56:22编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab Mat Atl MATLAB 矩阵

沙发
lingyunzhi 发表于 2008-5-4 09:00:00

第一问 B(:,1)=A(:,2)./A(:,1);B(:,2)=A(:,3)./A(:,1);B,可得B =

    2.0000    3.0000
    1.2500    1.5000
    1.1429    1.2857

第二问B(:,1)=A(:,2)./A(:,1);B(:,2)=A(:,4)./A(:,1);B,可得B =

    2.0000    4.0000
    1.2500    1.7500
    1.1429    1.4286

藤椅
wangzt 发表于 2008-5-4 09:05:00

第一问自己做了.还有第二问....如果第一问有更简单的方法也请告诉我.谢谢

第一问:

for i=2:3
B(:,i-1)=A(:,i)./A(:,1);
end

板凳
lingyunzhi 发表于 2008-5-4 09:07:00

for i=1:2

B(:,i)=A(:,i*2)./A(:,1);
end

报纸
wangzt 发表于 2008-5-4 09:22:00
以下是引用lingyunzhi在2008-5-4 9:07:00的发言:

for i=1:2

B(:,i)=A(:,i*2)./A(:,1);
end

这样可以做, 但我要用2和4列的主要意思是想任意的不连续的组合....不过一次性的估计是不行了.....我的方法是,不知道还有没有更简单的方法,觉得还是很麻烦,每一个连续段都要用一次loop:

第二问:

for i=2
B(:,i-1)=A(:,i)./A(:,1);
end

for i=4
B(:,i-2)=A(:,i)./A(:,1);
end

地板
lingyunzhi 发表于 2008-5-4 09:48:00

你可以把你所需的任意不连续的组合先存为一个向量,比如说

C=【1 2 6 45 444】,然后用

for i=1:length(C)

B(:,i)=A(:,C(i))./A(:,1)

end

7
lingyunzhi 发表于 2008-5-4 10:00:00
呵呵 你可以刚开始就把你的意图说出来 只有两个运算没必要用循环

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 22:50