如何用matlab生成一个3阶和5阶魔方矩阵
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用matlab生成一个3阶和5阶魔方矩阵相关的知识,希望对你有一定的参考价值。
%求5阶魔方矩阵大于5的元素的平方和内容如下:
n=5;
%魔方阶数
a=magic(n);%魔方
a5=a>5;
%大于5元素的位置
s=a(a5);
%大于5的元素
s2=s.^2;
%求平方
s2h=sum(s2)
%求和
相关矩阵
是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。 矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。
参考技术A %求5阶魔方矩阵大于5的元素的平方和 n=5; %魔方阶数 a=magic(n);%魔方 a5=a>5; %大于5元素的位置 s=a(a5); %大于5的元素 s2=s.^2; %求平方 s2h=sum(s2) %求和 参考技术B magic(3) magic(5)>> magic(3)
ans =
8 1 6
3 5 7
4 9 2
如何用matlab生成高斯分布随机数
参考技术A 可调用matlab内部函数,格式为u=randn(N)或者u=randn(M,N),前者为N维向量,后者为M*N矩阵,
这种调用方式产生的随机序列均值为零,方差为1
例如:R
=
normrnd(Mu,
Sigma,
m,
n)
%产生服从N(Mu,
Sigma^2)
分布的m行n列的随机数组R 参考技术B m=10;
%产生m行n列的随机数矩阵
n=8;
miu1=1;%第一个分布的参数
sigma1=2;%第一个分布的参数
miu2=6;%第二个分布的参数
sigma2=1;%第二个分布的参数
r
=
0.2*normrnd(miu1,sigma1,m,n)+0.8*normrnd(miu2,sigma2,m,n);
单点的概率全是0,那你取出来的随机数算什么?
若干个随机数要满足统计分布,是要按区间统计的
另外我不知道你要做什么就是了。
你如果想按一定的概率密度来产生随机数,你最好用反函数法之类的来弄。
比如产生一个x.^2分布的随机数,不过这些要归一化。
============================================
首先,我知道我的是错的了。如下图就可知
m=1000;
%产生m行n列的随机数矩阵
n=1;
miu1=1;%第一个分布的参数
sigma1=2;%第一个分布的参数
miu2=6;%第二个分布的参数
sigma2=1;%第二个分布的参数
r
=
0.2*normrnd(miu1,sigma1,m,n)+0.8*normrnd(miu2,sigma2,m,n);
x=-5:0.001:15;
y1=normpdf(x,miu1,sigma1);
y2=normpdf(x,miu2,sigma2);
subplot(2,2,1);
plot(x,y1);
subplot(2,2,2);
plot(x,y2);
subplot(2,2,3);
y3=0.2*y1+0.8*y2;
plot(x,y3);
subplot(2,2,4)
dx=0.5;
xx=-5:dx:15;
yy=hist(r,xx);
yy=yy/m/dx;
plot(x,y3);
hold
on
bar(xx,yy)
=======================================
正确做法,我还没弄出来,继续中。。。。
============================================
_____________________新的尝试
下面的结果我觉得可能可以接受。
思路:基于反变换法
matlab下面有
p=normpdf(x,miu,sigma)是求出x处的概率密度。
p=normcdf(x,miu,sigma)是求出x
评论
0
0
加载更多
以上是关于如何用matlab生成一个3阶和5阶魔方矩阵的主要内容,如果未能解决你的问题,请参考以下文章