matlab 矩阵 元素for j=1..4;for k=1..4;x=[1 2 3 3 4 ;6 56 8 3 ;85 6 8 4 ;6 4 8 2];x(i,j)我需要把矩阵中的任意元素,提取出来,求出元素最大的两个元素之和!请指教
来源:学生作业帮助网 编辑:六六作业网 时间:2024/09/08 03:26:03
matlab 矩阵 元素for j=1..4;for k=1..4;x=[1 2 3 3 4 ;6 56 8 3 ;85 6 8 4 ;6 4 8 2];x(i,j)我需要把矩阵中的任意元素,提取出来,求出元素最大的两个元素之和!请指教
matlab 矩阵 元素
for j=1..4;
for k=1..4;
x=[1 2 3 3 4 ;6 56 8 3 ;85 6 8 4 ;6 4 8 2];
x(i,j)
我需要把矩阵中的任意元素,提取出来,求出元素最大的两个元素之和!请指教
matlab 矩阵 元素for j=1..4;for k=1..4;x=[1 2 3 3 4 ;6 56 8 3 ;85 6 8 4 ;6 4 8 2];x(i,j)我需要把矩阵中的任意元素,提取出来,求出元素最大的两个元素之和!请指教
b=sort(x(:))
s=sum(b(end-1:end))
能不能把问题具体一点。第一,你的X矩阵不同维,第二循环变量没有i,第三,却缺乏结束的“end”,不知道你要干嘛?
你的元素最大是指矩阵中所有元素的最大两个么?你做双重循环找遍元素后,可以用if语句,替换大小,最后把替换得到的两数相加。
比如:X=[];(你自己的矩阵,假设4行5列)n=0;(假设你元素都是正的)
for i=1:1:4
for j=1:1:5...
全部展开
能不能把问题具体一点。第一,你的X矩阵不同维,第二循环变量没有i,第三,却缺乏结束的“end”,不知道你要干嘛?
你的元素最大是指矩阵中所有元素的最大两个么?你做双重循环找遍元素后,可以用if语句,替换大小,最后把替换得到的两数相加。
比如:X=[];(你自己的矩阵,假设4行5列)n=0;(假设你元素都是正的)
for i=1:1:4
for j=1:1:5
if X(i,j)>n
n=X(i,j);
num1=i;
num2=j;
end
end
end
disp(num1,num2)
这样找到最大数,以及它的位置,将其赋值为0后,再运行一遍就找到第二大的数了,加和就好了。如果不需要知道具体的数及其位置,只要知道加和的值的话,一两行就可以的。比如先从小到大排序,再输出最后两个元素的和。
收起
一:X为M*N维
for i=1:2
r=rand()*m*n %生成0到m*n随机数
R=fix(r)%取整
a(i)=X(R);
end
二:
b=sort(x(:))%排序函数
s=sum(b(end-1:end))