我是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”中的位置。
对此的任何帮助将非常感谢。
答案 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