Matlab:如何在函数中使用矩阵的所有值

时间:2014-09-08 11:23:58

标签: matlab function matrix

我是Matlab和编程的新手,我希望有人可以帮助我,或者指出我遇到的问题是正确的方向。

我有一个源自热图像的240x320矩阵(tempK)。矩阵中的每个单元包含来自热图像的共同点像素的温度值。我已经定义了以下功能:

function out=Planck_radconvers(lambda_,tempK)
C1 = 1.19e-16;
C2 = 1.44e-2;

out=C1/(lambda_^5*(exp(C2/(lambda_*tempK))-1))*1e-6;
end

然后我尝试通过应用以下内容来使用此功能:

rad=planck(10.25e-6,tempK)

问题在于我只能弄清楚如何将“rad”输出到“tempK”中的单个单元格。但是我需要它为“tempK”中的每个单元执行此操作,并且我需要“rad”的输出与“tempK”具有相同的尺寸(即,我需要从“tempK”获得的所有转换值都具有相同的单元格“rad”中的位置。

对此的任何帮助将非常感谢。

2 个答案:

答案 0 :(得分:0)

要按元素执行操作,请在每个符号指定矩阵运算之前使用点。

./
.*
.^

答案 1 :(得分:0)

你可以用两个循环来做 你只需要添加两个循环并分别计算每个单元格:

function out=Planck_radconvers(lambda_,tempK)
C1 = 1.19e-16;
C2 = 1.44e-2;
for i = 1:m
  for j = 1:n
     out(i,j)=C1/(lambda_^5*(exp(C2/(lambda_*tempK(i,j)))-1))*1e-6;
  end
end
end