matlab中矩阵随机取几个元素赋值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中矩阵随机取几个元素赋值相关的知识,希望对你有一定的参考价值。
比如10x10矩阵,随机取出十个元素并赋予0-9数字
首先确定矩阵的行数和列数
用rand函数生成随机数,与行数相乘取整得m;再次生成随机数,与列数相乘取整得n
对m行n列赋值,如果要求所赋的值也是随机的,那就用rand生成
如此循环,如果取的元素个数要求随机,那么就用rand生成一个数与矩阵总数相乘得循环次数
b=a;
ind1=randperm(10);
ind2=randperm(10);
for i=1:10
b(ind1(i),ind2(i))=i-1;
end
b本回答被提问者采纳
python 怎么给矩阵里的每一个元素赋值
想让矩阵的每一个元素都有70%的几率为1, 但是输出后会变成这种情况
space?5
percent?50
0 0 0 1 0
0 0 0 1 0
0 0 0 1 0
0 0 0 1 0
0 0 0 1 0
请问源代码该怎么修改才好
import random
n = input("space?")
percent = input("percent?")
earth = [[0]*n]*n
def showBoard():
for i in range(n):
for j in range(n):
print earth[i][j] ,
print
def treeSet():
for i in range(n):
for j in range(n):
per = random.uniform(0,1) * 100
if per >= 70:
earth[i][j] = 1
else:
earth[i][j] = 0
treeSet()
showBoard()
方法一:
1、如图所示是我们创建了一个矩阵,一般我们的操作过程中有矩阵的话那么在工作区就会出现,如图所示,我们可以双击工作区的需要更改的矩阵。
2、然后在弹出的表格中选中需要更改的单个矩阵元素,进行更改即可。
方法二:
1、我们也可以通过语句来实现对矩阵单个元素的赋值操作。我们可以通过下面的语句:
a(1,2)=100
如图所示就可以看到我们矩阵的该位置元素数值已经更改了。
2、假如我们输入的行数和列数大于原来的矩阵会出现什么现象呢?我们可以试试,我们输入a(5,6)=100,来看看结果。
3、我们可以看到矩阵会自动扩展成5行6列的一个新的矩阵,其余为赋值的区域会自动为0,我们也可以通过这个方法来对矩阵进行扩展。
我也研究了很久,终于发现问题了.
函数没错.
错在定义 earth 的时候.
earth = [[0]*n]*n # does not workearth = [[0,0,0],[0,0,0],[0,0,0]] # work
如果想 python 当中应用矩阵运算.
你就需要了解 numpy 这个库.
你可以百度一下 "numpy 莫烦", 莫烦教程有一系列的 numpy 教学教程.
本回答被提问者和网友采纳 参考技术B 答非所问,问的是Python 给的确实MATLAB,还推送到百度第一条,每次都误导人!以上是关于matlab中矩阵随机取几个元素赋值的主要内容,如果未能解决你的问题,请参考以下文章
matlab怎样给第一个矩阵1号位置赋值,第二个矩阵2号位置赋值?