楼主: hshly
788 2

[问答] 求助成功,谢谢 [推广有奖]

  • 1关注
  • 25粉丝

高级会员

已卖:11份资源

学术权威

2%

还不是VIP/贵宾

-

威望
0
论坛币
1764290 个
通用积分
493.3863
学术水平
13 点
热心指数
17 点
信用等级
8 点
经验
37289 点
帖子
877
精华
0
在线时间
8663 小时
注册时间
2004-12-13
最后登录
2026-1-7

楼主
hshly 发表于 2014-3-23 11:56:31 |AI写论文
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
关键词:求助成功 matlab代码 MATLAB atlab matla matlab

本帖被以下文库推荐

沙发
liushuaiguang 发表于 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
已有 1 人评分学术水平 收起 理由
hshly + 1 感谢帮助了

总评分: 学术水平 + 1   查看全部评分

藤椅
riyuexingchen 发表于 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
已有 1 人评分热心指数 收起 理由
hshly + 5 谢谢了,可以实现

总评分: 热心指数 + 5   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 18:30