我在matlab中找出如何在我的情节中创建这些光束时遇到了一些麻烦。
我创建了这个图片,我需要在添加光束之前使用它,但我不知道如何继续。
光束应从表面以指数方式衰减(或衰减),衰减常数为15 cm。因此,如果表面图块具有能量值1
,则在深度i
处,其中i
表示以厘米为单位的深度,该值应为exp(-i/15)
。请注意,梁应覆盖中间正方形的整个范围。
图形:
此图片的代码:
Rows = 30;
Cols = 40;
body = zeros(Rows, Cols);
clims = [-1 1];
imagesc(body, clims);
hold on
x = 0:5:40;
y = 0:5:30;
imagesc(x, y, body)
axis([0 40 0 30])
axis xy
shading flat
colorbar
hold on
plot([18, 22],[13, 13],'k')
hold on
plot([18, 18],[13, 17],'k')
hold on
plot([18, 22],[17, 17],'k')
hold on
plot([22, 22],[13, 17],'k')
任何帮助都会非常感激!
答案 0 :(得分:0)
有几种方法可以做到这一点。基本上,您需要在绘制之前设置体内的值。以下是类似曲线的一个示例,我将让您弄清楚如何根据您的确切需求进行推断。
Rows = 30;
Cols = 40;
body = zeros(Rows, Cols);
xsize=size(body,1);
ysize=size(body,2);
for x=1:xsize
for y=1:ysize
body(x,y)=exp((y-ysize/2)*(x-xsize/2));
end
end
x = 0:5:40;
y = 0:5:30;
imagesc(x, y, body)