matlab 如何表示矩阵,矩阵中每个元素是一个函数

例如:A=[1,1,1,1,1;f1;f2;f3;f4;f5]
其中f(i)=sqrt(0.5+0.1*unifrnd(-1,1)^2+0.3*unifrnd(-1,1)^2)

在matlab中,矩阵中的元素序号是按照“先行后列”的顺序排列的。
设如下随机矩阵:
A=rand(4,6)
A =
0.6551 0.9597 0.7513 0.8909 0.1493 0.8143
0.1626 0.3404 0.2551 0.9593 0.2575 0.2435
0.1190 0.5853 0.5060 0.5472 0.8407 0.9293
0.4984 0.2238 0.6991 0.1386 0.2543 0.3500
则执行下面命令:
A(6)
ans =
0.3404
得到结果很容易看出是按照“先行后列”的排序。
其次,对于矩阵中的元素表示方法,主要分以下几点:
1.A(m,n)代表矩阵A中第m行,第n列的值:
A(3,4)
ans =
0.5472
2.对于矩阵A(m,n)
若是m用:代替即A(:,n)代表第n列的元素;若是n用:代替即A(m,:)代表第m行元素;
A(2,:)
ans =
0.1626 0.3404 0.2551 0.9593 0.2575 0.2435
若是用[a b c]代替m即A([a b c],n)则表示第a,b,c行,n列中的元素;
A(:,6)
ans =
0.8143
0.2435
0.9293
0.3500
若是用[a:b](a<b)代表m即A(a:b,:)则表示a到b行的所有元素;
A(2:4,:)
ans =
0.1626 0.3404 0.2551 0.9593 0.2575 0.2435
0.1190 0.5853 0.5060 0.5472 0.8407 0.9293
0.4984 0.2238 0.6991 0.1386 0.2543 0.3500
若是用[a b c]代替m,用[x y]代替n即A([a b c],[x y])则表示a,b,c行中x,y列中的元素;
A([1,3],5)
ans =
0.1493
0.8407
3.对于三位矩阵B(x,y,z),相当于若干个平面一次叠加;
如B(:,:,n)则表示B中的第n个平面上的所有矩阵。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-23
clc;clear all;
A=ones(2,5);
for j=1:5;
A(2,j)=sqrt(0.5+0.1*unifrnd(-1,1)^2+0.3*unifrnd(-1,1)^2);
end本回答被提问者采纳
第2个回答  2015-01-21
你这样改就可以了:
A=ones(2,4);
i=2;
for j=1:4
A(i,j)=sqrt(0.5+0.1*(2*rand()-1)^2+0.3*(2*rand()-1)^2);
end
第3个回答  2015-01-21
你的矩阵A表述有问题啊?追问

A=[1,1,1,1,1;f1,f2,f3,f4,f5]

追答

A=ones(2,4);
for i=2
j=1:4;
A(i,j)=sqrt(0.5+0.1*unifrnd(-1,1)^2+0.3*unifrnd(-1,1)^2);
end

追问

谢谢你,我刚运行一下,答案是
A =

1.0000 1.0000 1.0000 1.0000
0.7687 0.7687 0.7687 0.7687
问题是我的fi中含随机数,我希望得到的是不同的随机数,该怎么办?

追答

按照楼下的回答就可以解决了吧。

相似回答