作业帮 > 数学 > 作业

matlab中,想对矩阵X中的每一个元素x(i,j)求f(x(i,j)),生成新矩阵Y,应该怎么办?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/17 16:05:08
matlab中,想对矩阵X中的每一个元素x(i,j)求f(x(i,j)),生成新矩阵Y,应该怎么办?
这个问题也许有人问过了,但是我实在找不到,就来问了……
现有一个很大的矩阵X,一个很复杂的函数f(x).我想对X中的每一个元素x(i,j)求f(x(i,j)),应该怎么写?
由于矩阵较大,且f(x)非常复杂,所以我不想用for循环;由于f(x)是黑箱状态,所以没法改动为点乘点除之类.
每次取X(i,j)再计算f(x),这个好像没捷径了吧,如果想减少计算数据量,可以对矩阵X处理,采用稀疏矩阵存储,a=sparse(x);
[m,n]=size(a);
fx=zeros(m,n);
for i=1:m
for j=1:n
fx(i,j)=f(a(i,j));
end
end