全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
746 2
2014-03-23
悬赏 500 个论坛币 已解决
现有一个序列X
10
20
30
40
根据上述序列生成如下矩阵Y:
--                                                  --
|    0       10+20  10+30  10+40    |
|  20+10     0      20+30  20+40    |
|  30+10  30+20    0       30+40    |
|  40+10  40+20  40+30     0        |
--                                                 --
即主对角线是0,其余的是相加,如生成Y里面Y12表示X1+X2=10+20
请给出matlab代码,谢谢

最佳答案

liushuaiguang 查看完整内容

x=[10 20 30 40]; z=[1 1 1 1]; c=x'*z; d=z'*x; m=c+d; M=m-diag(diag(m)) 结果是: M = 0 30 40 50 30 0 50 60 40 50 0 70 50 60 70 0
二维码

扫码加我 拉你入群

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

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

全部回复
2014-3-23 11:56:32
x=[10 20 30 40];
z=[1 1 1 1];
c=x'*z;
d=z'*x;
m=c+d;
M=m-diag(diag(m))
结果是:

M =

     0    30    40    50
    30     0    50    60
    40    50     0    70
    50    60    70     0
二维码

扫码加我 拉你入群

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

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

2014-3-23 18:05:58
clc,clear;
a=[10 20 30 40];
b=length(a);
c=repmat(a,b,1);
d=repmat(a',1,b);
for i=1:4
    d(i,i)=-d(i,i);
end
e=c+d
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群